這次是第二次比較大的training,明天下午更新完後周末我會打一下去年新生杯的題
原題:http://acm.hdu.edu.cn/showproblem.php?pid=2018
思路:
直接模拟,數組下标是牛的歲數(>=4歲的都放在a[4]),循環計算輸出即可
源代碼:
#include <cstdio> //A
#include <string>
#include <cstring>
int n=0,ans=0;
int a[5]={};
void count()
{
for (int i=0;i<=4;i++) a[i]=0;
a[4]=1;
for (int year=2;year<=n;year++)
{
a[4]+=a[3];
a[3]=a[2];
a[2]=a[1];
a[1]=a[4];
}
}
int main()
{
scanf("%d",&n);
while (n!=0)
{
ans=0;
count();
ans=a[1]+a[2]+a[3]+a[4];
printf("%d\n",ans);
scanf("%d",&n);
}
return 0;
}