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 }