2 1 3 2 3
3 3
#include<iostream> #include<string.h> const int M=2000; using namespace std; int main() { int ls[M+10][M+10],n,m,t; for(int i=0;i<=M;i++) { ls[i][i]=1; ls[i][0]=1; } for(int j=2;j<=M;j++) for(int k=1;k<j;k++) { ls[j][k]=(ls[j-1][k-1]+ls[j-1][k])%1007; // cout<<"ls[j][k]="<<ls[j][k]<<endl; } cin>>t; while(t--) { cin>>m>>n; cout<<ls[n][m]<<endl; } return 0; }
#include<stdio.h> #define MAXN 2000+10 int a[MAXN][MAXN]={0}; int main() { int T,i,j; for(i=0;i<MAXN;i++) { a[i][i]=1; a[i][1]=i%1007; } for(i=2;i<MAXN;i++) for(j=1;j<i;j++) a[i][j]=(a[i-1][j-1]+a[i-1][j])%1007; scanf("%d",&T); while(T--) { int m,n; scanf("%d%d",&m,&n); printf("%d\n",a[n+1][m+1]); } return 0; }
原文地址:http://blog.csdn.net/lsgqjh/article/details/44948457