uva 10943How do you add?(简单组合)
来源:互联网 发布:php教程 w3c 编辑:程序博客网 时间:2024/04/29 17:16
Problem A: How do you add?
Larry is very bad at math - he usually uses a calculator, which worked well throughout college. Unforunately, he is now struck in a deserted island with his good buddy Ryan after a snowboarding accident. They're now trying to spend some time figuring out some good problems, and Ryan will eat Larry if he cannot answer, so his fate is up to you!It's a very simple problem - given a number N, how many ways can K numbers less thanN add up to N?
For example, for N = 20 and K = 2, there are 21 ways:
0+20
1+19
2+18
3+17
4+16
5+15
...
18+2
19+1
20+0
Input
Each line will contain a pair of numbers N and K. N and K will both be an integer from 1 to 100, inclusive. The input will terminate on 2 0's.Output
Since Larry is only interested in the last few digits of the answer, for each pair of numbers N and K, print a single number mod 1,000,000 on a single line.Sample Input
20 220 20 0
Sample Output
2121
题意:给你n和k,让你求出有k个数的和为n的种类数(可以为0);很明显的插板法,把n看成n个1,因为可以为0,所以还要加上k个0,即 1 1 1 1 .............0 0 0 0,然后共有n+k-1个空,插入k-1个板,这样的最终结果
代码:
#include <iostream>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<vector>#include<stdlib.h>#include<string>#include<map>#include<set>#include<queue>#include<stack>#include<set>#define inf 0x3f3f3f3f#define eps 1e-5#define max(a,b) (a)>(b)?(a):(b)#define min(a,b) (a)<(b)?(a):(b)#define N 210#define MOD 1000000using namespace std;int c[N+1][N+1];void init(){ int i,j; c[0][0]=1; for(i=1;i<=N;i++) { c[i][0]=1; for(j=1;j<N;j++) { c[i][j]=(c[i-1][j]%MOD+c[i-1][j-1]%MOD)%MOD; } c[i][N]=1; }}int main(){ int n,k,ans,i; init(); while(~scanf("%d%d",&n,&k)&&(n||k)) { printf("%d\n",c[n+k-1][k-1]); } return 0;}
0 0
- uva 10943How do you add?(简单组合)
- UVa 10943 - How do you add?(组合数)
- UVA 10943(How do you add?)
- How do you add?(UVA 10943)
- UVa 10943 How do you add? (组合数学)
- UVa 10780 - How do you add? (简单DP 组合数学 隔板法)
- UVA - 10943 How do you add?【组合数取余(递推)】
- UVA 10943 - How do you add
- UVA 10943 How do you add?
- uva 10943 - How do you add?
- UVa 10943 - How do you add?
- UVa:10943 How do you add?
- UVA 10943 - How do you add?(dp)
- uva 10943 - How do you add?(dp)
- UVA 10943 - How do you add?
- UVA 10943 How do you add?
- uva 10943 How do you add? (DP)
- UVa 10943 - How do you add?
- Could not load file or assembly or one of its dependencies. 试图加载格式不正确的程序。
- Android 一张图理解getWidth和getMeasuredWidth
- spring中bean属性scope介绍
- IPv4地址何时用完,IPv6会用完吗?
- 博客园
- uva 10943How do you add?(简单组合)
- java类加载器
- 程序设计--迷宫问题
- 博客搬家
- NSMutableDictionary 使用(八)
- 开发-运维-开发,一路走来的收获与感悟
- Linux多点触控协议
- CSS 的优先级机制[总结]
- iOS应用程序的主要框架