uva 12034 Race(递推+组合数)

来源:互联网 发布:新淘宝账号可以开店吗 编辑:程序博客网 时间:2024/06/05 21:54

Race

杨辉三角求组合数用来取余数,利用递推公式或者其他带有除号的式子存在问题,具体问题未解决!

#include<stdio.h>#include<string.h>#include<algorithm>using namespace  std;int zuhe[1010][1010];void init(){    zuhe[1][0] = zuhe[1][1] = 1;    for(int i = 2;i<=1000;i++){        for(int j = 1;j<i;j++){            zuhe[i][j] = (zuhe[i-1][j-1] + zuhe[i-1][j])%10056;        }        zuhe[i][0] = zuhe[i][i] = 1;    }}int main(){    init();    int f[1010];    memset(f,0,sizeof(f));    f[0] = f[1] = 1;    f[2] = 3;    f[3] = 13;    for(int i = 4;i<=1000;i++){        for(int j = 1;j<=i;j++){            f[i] += (zuhe[i][j] * f[i-j])%10056;        }        f[i]%=10056;    }    int t;    scanf("%d",&t);    int cases = 1;    while(t --){        int n;        scanf("%d",&n);        printf("Case %d: %d\n",cases++,f[n]);    }}


0 0
原创粉丝点击