1. 程式人生 > >hdu 2018 母牛的故事

hdu 2018 母牛的故事

long () set pri 第一天 scan tdi eof nbsp

https://vjudge.net/problem/HDU-2018

題意:

rt

思路:

遞推吧,首先列一個表出來

成熟的 出生一天 。。2天 。。。3天

第一天 1 0 0 0

第二天 1 1 0 0

第三天 1 1 1 0

第四天 1 1 1 1

第四天 2 2 1 1

為什麽第四天的成熟的是2呢,因為第三天的時候3天的牛在四天的時候就可以生產了,所以我們在第三天的時候就要把成熟的加上三天的,這樣第四天的得到的出生一天的才是正確的。記住用long long。

代碼:

 1 #include <stdio.h>
 2 #include <string
.h> 3 4 int main() 5 { 6 int n; 7 8 while (scanf("%d",&n) == 1 && n) 9 { 10 long long dp[4]; 11 12 memset(dp,0,sizeof(dp)); 13 14 long long ma = 1; 15 16 for (int i = 2;i <= n;i++) 17 { 18 dp[3] = dp[2]; 19 dp[2
] = dp[1]; 20 dp[1] = ma; 21 22 ma += dp[3]; 23 dp[3] = 0; 24 } 25 26 for (int i = 1;i <= 2;i++) 27 ma += dp[i]; 28 29 printf("%I64d\n",ma); 30 } 31 32 return 0; 33 }

hdu 2018 母牛的故事