ZZY的宠物
我只能说,测试数据真的很小,直接模拟过了。
开一个数组a[6],最开始的时候,只有2只0岁的宠物,其他年龄的宠物为0.一个时间单位后,所有的宠物长大一岁,上一时间单位5岁的宠物死掉,能生孩子的宠物生下新0岁的宠物。以此类推。。。
39326 | 20114045007 | Accepted |
964
|
52
| C++ | 613 B | 2013-08-31 16:51:28 |
#include<stdio.h> const int mode=10000; int main() { int a[6],i,j,n,k=1;; while(scanf("%d",&n)!=EOF) { if(n<1)printf("Case %d: 2\n",k++); else { a[0]=2; a[1]=a[2]=a[3]=a[4]=a[5]=0; //最开始宠物情况(年龄阶段分开存储) for(j=1;j<=n;j++) //第j个时间单位后,每个年龄阶段的宠物比第j-1单位时间的长大1岁,j-1时间时为5岁的宠物死掉 { for(i=5;i>0;i--) a[i]=a[i-1]; a[i]=(a[2]*3+a[3]*2+a[4])%mode; //第i个单位时间新生的宠物数,0岁 } printf("Case %d: %d\n",k++,(a[0]+a[1]+a[2]+a[3]+a[4]+a[5])%mode); //n个单位时间后,宠物的总数为所有年龄宠物的个数之和 } } return 0; }
转载于:https://blog.51cto.com/huahua520amy/1373628