复杂度
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
3
-
描述
-
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
for(k=j+1;k<=n;k++)
operation;
你知道 operation 共执行了多少次吗;
-
输入
-
输入 m 和n 表示m为for循环的层数,n为for中的n。
(n,m<=2000),输入以n==0和m==0结束
输出
- 输出operation执行的次数(输入结果mod 1009) 样例输入
-
2 3 1 3 2 4 0 0
样例输出
-
3 3 6
上传者
-
TC_常红立
ac代码
#include<stdio.h> #include<string.h> #define mod 1009 long long a[2020][2020]; void fun() { int i,j; for(i=1;i<2020;i++) a[1][i]=i%1009; for(i=2;i<2020;i++) { for(j=2;j<2020;j++) a[i][j]=(a[i-1][j-1]+a[i][j-1])%mod; } } int main() { int n,m; fun(); while(scanf("%d%d",&n,&m)!=EOF,n||m) { printf("%lld\n",a[n][m]); } }
-
输入 m 和n 表示m为for循环的层数,n为for中的n。