ZZY的宠物

我只能说,测试数据真的很小,直接模拟过了。

开一个数组a[6],最开始的时候,只有2只0岁的宠物,其他年龄的宠物为0.一个时间单位后,所有的宠物长大一岁,上一时间单位5岁的宠物死掉,能生孩子的宠物生下新0岁的宠物。以此类推。。。

3932620114045007
E
Accepted
964
52
C++613 B2013-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; }