您的位置:首页 > 其它

【HPU】[1731]QAQ的问题

2016-03-24 19:59 232 查看




一道排列组合的题目

先从阵地里选出哪几个阵地

然后把士兵让进去 允许空

由排列组合的知识得

C(n+m-1,m-1)

需要注意的是%777

所以使用数组

运用 CMI[i][j]=CMI[i-1][j-1]+CMI[i-1][j]

来计算CMI比较好

#include<stdio.h>
int CMI[101][101];
void GetCMI() {
for(int i=0; i<=100; i++)
CMI[i][0]=1;
for(int i=1; i<=100; i++) {
for(int j=1; j<=i; j++) {
CMI[i][j]=(CMI[i-1][j-1]+CMI[i-1][j])%777;
}
}
}

int main() {
GetCMI();
int N,M;
while(scanf("%d %d",&N,&M)!=EOF) {
int sum=0;
for(int i=1; i<=M; i++) {
sum=(sum+CMI[M][i]*CMI[N+i-1][i-1])%777;
}
printf("%d\n",sum);
}
return 0;
}


题目地址:【HPU】[1731]QAQ的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HPU 排列组合