欢迎使用CSDN-markdown编辑器

来源:互联网 发布:电力营销系统数据字典 编辑:程序博客网 时间:2024/06/03 13:54

The contest’s message distribution is a big thing in prepare. Assuming N students stand in a row, from the row-head start transmit message, each person can transmit message to behind M personals, and how many ways could row-tail get the message?
Input
Input may contain multiple test cases. Each case contains N and M in one line
When N=0 and M=0, terminates the input and this test case is not to be processed.
Output
Output the ways of the Nth student get message.
Sample Input
4 1
4 2
0 0
Sample Output
1
3

Hint
4 1 : A->B->C->D
4 2 : A->B->C->D, A->C->D, A->B->D

#include<stdio.h>#include<string.h>int main(){    int n, m, i, j;    int dp[100001];    while(~scanf("%d%d", &n, &m))    {        if(n==0 && m==0)            break;        memset(dp, 0, sizeof(dp));        dp[1] = 1;        for(i=1; i<=n; i++)        {            for(j=1; j<=m; j++)            {                if(i+j <= n)                {                    dp[i+j] += dp[i];                }            }        }        printf("%d\n", dp[n]);    }}
0 0
原创粉丝点击