Vijos 1073 4-Hanoi-Tower(DP后找规律)

题目链接

以前做个一个题,n很小,今天又发现这个问题,没想到n这么大还要取模,在改了以前那个,无奈第三组数据就是过不了,不是WA就是TLE。。。唉,看了讨论,发现需要找规律,思维被前一个题局限住了。简化版的HDU1207题解

 1 #include <stdio.h>
 2 #define N 50001
 3 int p[N];
 4 int main()
 5 {
 6     int i,j = 1,k = 2,u = 2;
 7     p[1] = 1;
 8     for(i = 2;i <= 50000;i ++)
 9     {
10         p[i] = p[i-1] + k;
11         if(j < u)
12         {
13             j ++;
14         }
15         else
16         {
17             u ++;
18             j = 1;
19             k = (k*2)%10000;
20         }
21         p[i] = p[i]%10000;
22     }
23     scanf("%d",&i);
24     printf("%d\n",p[i]);
25     return 0;
26 }
posted @ 2012-08-03 16:22  Naix_x  阅读(351)  评论(0编辑  收藏  举报