标签:
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1121
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 451 Accepted Submission(s): 283
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 const int maxn = 111; 8 9 int s, c; 10 int f[maxn][maxn]; 11 12 void init() { 13 memset(f, 0, sizeof(f)); 14 } 15 16 int main() { 17 int tc; 18 scanf("%d", &tc); 19 while (tc--) { 20 init(); 21 scanf("%d%d", &s, &c); 22 for (int i = 0; i < s; i++) scanf("%d", &f[0][i]); 23 for (int i = 1; i <= s - 1; i++) { 24 for (int j = 0; j < s - i; j++) { 25 f[i][j] = f[i - 1][j + 1] - f[i - 1][j]; 26 } 27 } 28 for (int i = 1; i <= c; i++) f[s - 1][i] = f[s - 1][i - 1]; 29 for (int i = s - 2; i >= 0; i--) { 30 for (int j = s - i; j < s + c - i; j++) { 31 f[i][j] = f[i][j - 1] + f[i + 1][j - 1]; 32 } 33 } 34 printf("%d", f[0][s]); 35 for (int i = s + 1; i < s + c; i++) printf(" %d", f[0][i]); 36 printf("\n"); 37 } 38 return 0; 39 }
HDU 1121 Complete the Sequence 差分
标签:
原文地址:http://www.cnblogs.com/fenice/p/5249095.html