摘要: 需要用到一些数学公式:(a+b)%m = (a%m + b%m)%m(a*b)%m = (a%m * b%m)%m这是利用它的余数来优化,从而减少了计算量 1 #include<stdio.h> 2 #include<string.h> 3 4 int main() 5 { 6 int i, ncases, num, m; 7 long long k, sum; 8 char n[101]; 9 10 while(scanf("%d", &ncases) != EOF)11 {12 while(ncases--)13 ... 阅读全文
posted @ 2011-08-21 23:19 zhongya 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 3 int num[21][21][21] = {0}; 4 5 int w(int a,int b,int c) 6 { 7 if (a<=0 || b<=0 || c<=0) return 1; 8 if(a>20 || b>20 || c>20) return w(20,20,20); 9 if(num[a][b][c]) return num[a][b][c];10 11 if(a<b && b<c) return num[a][b][c] = w(a,b,c-1)+ 阅读全文
posted @ 2011-08-21 21:43 zhongya 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 int w[21][21][21]; 3 int main() 4 { 5 int a,b,c; 6 7 for(a=0; a<21; a++) 8 for(b=0; b<21; b++) 9 for(c=0; c<21; c++)10 {11 if(a<=0||b<=0||c<=0)12 w[a][b][c] = 1;13 else if(a<b && b<c)14 w[a][b][c] = w[a][b][c-... 阅读全文
posted @ 2011-08-21 21:40 zhongya 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<math.h> 5 #define N 2147483648 6 7 int cmp(const void *a,const void *b) 8 { 9 return *(int *)a - *(int *)b;10 }11 12 int main()13 {14 int k=0, i, j;15 int a[50000]; //数组最大不超过5万个,因为5万的平方大于N了。16 17 ... 阅读全文
posted @ 2011-08-21 11:23 zhongya 阅读(170) 评论(0) 推荐(0) 编辑