10686 DeathGod不知道的事情

Description

    蚂蚁是很强大的动物,除了DeathGod知道的事情外还有很多不知道的!例如…
    根据某种理论,时间方向上有无数个平行世界,有的世界蚂蚁很多,有的世界蚂蚁很少,有的世界蚂蚁会繁殖,有的世界蚂蚁不会繁殖。 DeathGod没有时空穿梭的能力,因此他无法知道所有的蚂蚁加起来到底有多少。但他知道未来的ACMer非常厉害,可以暂时抛弃肉体,以思维进行时空旅行。
因此他留下一段话给未来的ACMer,让他们帮他数一数,所有的平行世界总共有几只蚂蚁。
    由于时间旅行是不可逆的,因此DeathGod只能让ACMer逆向推算出在DeathGod的那个时间点上所有的平行世界总共有多少只蚂蚁。
    此时,未来的ACMer,就是你,已经在无数个平行世界中搜索过了(只用了一瞬间),在你所处的时间点上,第0,1,2,3…N-1个
平行世界上的蚂蚁数目分别为A[0],A[1],A[2],A[3]….A[N-1],为了简化计算,所以每个平行世界上的蚂蚁数目都是当作整数计算。
而已知每两只蚂蚁每过时间t,就会生出一只蚂蚁。如果有八只蚂蚁,那么过了时间t后就会变成十二只蚂蚁,再过时间t就会变成十八只蚂蚁。
如果蚂蚁数目是单数,比如有七只蚂蚁,那么过了时间t后就会变成十只蚂蚁。再过时间t就会变成十五只蚂蚁。有的世界里面的蚂蚁是不会繁衍的,
因此蚂蚁的个数就不会变化,不会遵从这个定律。假设所有的蚂蚁不会死亡。那么你应该可以计算出在DeathGod所在的时间点上,
最少可能存在几只蚂蚁(如果只有一只蚂蚁,是不会繁衍的,如果蚂蚁会繁衍,那么一定遵从上面的定律。如果不遵从上面定律的,
那么一定不会繁衍。且蚂蚁只能跟和自己同一个世界里的蚂蚁交配。)
    不过,最囧的事情就是,即使你算出来了,由于信息无法逆时间方向传递,因此DeathGod还是无法知道。不过为了培养未来的ACMer的耐心和毅力,
以及面对恶心模拟题时不至于双眼发昏脑袋发胀,因此还是要把答案算出来。

输入格式

第一行输入case数T(T<100),第二行开始每个case输入一个N表示平行世界的数目,输入一个t表示蚂蚁繁衍间隔时间,
输入t1,t2表示DeathGod所在时间和未来的ACMer所在时间。接下来换行输入A[0],A[1]…A[N-1],用空格间开。
(0<A[0]…A[N-1],t,t1,t2<=10000,0<N<1000,t<t1<t2)。

输出格式

对于每个case输出一个蚂蚁的总数,每个一行。

输入样例

2
1 1 0 2
10
2 1 0 4
28 23

思路:

/*每逆推一个数,就倒回来,
判断反逆推后与逆推结果的差值是否大于等于1*/

输出样例

5
29

#include<stdio.h>
#include<math.h>
int main()
{
    int T,n,t,t1,t2,a[1010];
    int i,j1,j2,k,sum;
    double temp1,temp2;
    scanf("%d",&T);
    for(i=1; i<=T; i++)
    {
        sum=0;
        scanf("%d%d%d%d",&n,&t,&t1,&t2);
        for(j1=0; j1<n; j1++)
            scanf("%d",&a[j1]);

        k=(t2-t1)/t;
        for(j1=0; j1<n; j1++)
        {
            temp1=temp2=a[j1];
            for(j2=1; j2<=k; j2++)
            {
                temp2=(temp2*2)/3.0;
                if(temp2>floor(temp2)) temp2=floor(temp2)+1;
                if(((temp2*3)/2)-temp1>=1)/*每逆推一个数,就倒回来,
                判断反逆推后与逆推结果的差值是否大于等于1*/
                {
                    sum+=a[j1];
                    temp2=0;
                    break;
                }
                else temp1=temp2;
            }
            sum+=temp2;
        }
        printf("%d\n",sum);
    }
    return 0;
}

时间: 2024-12-29 22:30:36

10686 DeathGod不知道的事情的相关文章

直播源码:关于直播行业你所不知道的事情

网上流传着一个段子:"直播发于秀场,兴于网红,盛于明星,衰于广告,毁于×××".在这个处处充满机遇和挑战,精神需求被无限放大的互联网时代,直播行业如雨后春笋一样迅速崛起.目前这一行业的竞争已进入白热化阶段.刷榜.僵尸粉.烧钱等问题铺面而来,在秀场和网红的吹捧下,直播泡沫也被放大,赛道越来越拥挤,问题重重,竞争愈发激烈,网红和主播带领的直播市场 ,如何在大众审美疲劳中打开属于自己的直播平台道路?做事情都有所谓的任何"术业有专攻",直播领域的细分也将成为必然,陌陌 映客

02 今天我不知道的事情 NoSQL

==1 NoSQL== NoSQL,泛指非关系型的数据库. NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题. NoSQL数据库的四大分类 1.1 键值(Key-Value)存储数据库 这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据. 1.2 列存储数据库. 这部分数据库通常是用来应对分布式存储的海量数据.键仍然存在,但是它们的特点是指向了多个列.这些列是由列家族来安排的. 1.3 文档型数据库 该类型的数据模型是版

03 今天我不知道的事情 HBase

== 1 Hbase==Hadoop Database 是Apache的Hadoop项目的子项目. HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统". 适合于非结构化数据存储的数据库. 高可靠性.高性能.面向列.可伸缩的分布式存储系统 1.1 HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Had

你所不知道的五件事情--java.util.concurrent(第二部分)

这是Ted Neward在IBM developerWorks中5 things系列文章中的一篇,仍然讲述了关于Java并发集合API的一些应用窍门,值得大家学习.(2010.06.17最后更新) 摘要:除了便于编写并发应用的集合API外,java.util.concurrent还引入了其它的预置程序组件,这些组件能辅助你在多线程应用中控制和执行线程.Ted Neward再介绍了五个来自于java.util.concurrent的Java编程必备窍门. 通过提供线程安全,性能良好的数据结构,并发

你所不知道的html5与html中的那些事(二)

文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作都可以达到真正的云方式呢?这一系列的问题你是否已经想明白了呢? 本系列文章将为您一一解答你所不知道的关于html5与html中的那些事;具体会包括如:html5新的理念与想法,html5的新标签的用意与具体开发中场景应用,html5与css3的感情经历(用法搭配),包括html5的父亲html的一些

你所不知道的html5与html中的那些事(一)

分类: Web开发 文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作都可以达到真正的云方式呢?这一系列的问题你是否已经想明白了呢? 本系列文章将为您一一解答你所不知道的关于html5与html中的那些事;具体会包括如:html5新的理念与想法,html5的新标签的用意与具体开发中场景应用,html5与css3的感情经历(用法搭配),包括html5

你所不知道的html5与html中的那些事(四)——文本标签

文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作都可以达到真正的云方式呢?这一系列的问题你是否已经想明白了呢? 本系列文章将为您一一解答你所不知道的关于html5与html中的那些事;具体会包括如:html5新的理念与想法,html5的新标签的用意与具体开发中场景应用,html5与css3的感情经历(用法搭配),包括html5的父亲html的一些

你所不知道的html5与html中的那些事(三)

文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作都可以达到真正的云方式呢?这一系列的问题你是否已经想明白了呢? 本系列文章将为您一一解答你所不知道的关于html5与html中的那些事;具体会包括如:html5新的理念与想法,html5的新标签的用意与具体开发中场景应用,html5与css3的感情经历(用法搭配),包括html5的父亲html的一些

你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程,并且根据加载过程中所遇到的一系列问题提供解决方案. 其实SQL Server作为微软的一款优秀RDBMS,它启动的过程中,本身所带的那些系统库发生问题的情况相对还是很少的,我们在平常使用中,出问题的大部分集中于我们自己建立的用户数据库. 而且,相对于侧重面而言,其实我们更关注的是我们自己建立的用户数