hdu 1723 Distribute Message (DP)
题目意思;
给你一列学生,人数为n,从第一个向最后传信息,每人最远可以传递给m距离的学生,求最后一个学生收到信息的方法总数。。。
#include"stdio.h" #include"string.h" int main() { int n,m,i,j,dp[66]; while(scanf("%d%d",&n,&m)!=EOF&&(n||m)) { memset(dp,0,sizeof(dp)); dp[1]=1; for(i=1;i<n;i++) { for(j=1;j<=m;j++) { if(i+j>n) break; dp[i+j]+=dp[i]; } } printf("%d\n",dp[n]); } return 0; }