HDU 1723-Distribute Message-dp-(有向图路径模型)

来源:互联网 发布:labp是网络管理协议 编辑:程序博客网 时间:2024/05/21 17:56

题意:一队人传递消息,一个人可以向后传给m个人,求最后一个人得到消息的方式有多少种。有向图求起点到终点有多少条路径模型。

分析:dp[i]表示第i个人得到消息的方式有dp[i]种,dp[i]=dp[i-1]+.....+dp[i-m]。求方式的状态转移方程基本上都是这个样子。

代码:

#include<iostream>#include<algorithm> using namespace std;int n,m;int dp[100];void DP(){memset(dp,0,sizeof(dp));dp[1]=1;for(int i=2;i<=n;i++){for(int j=i-1;i-j<=m&&j>0;j--)   dp[i]+=dp[j];}}int main(){    while(cin>>n>>m){    if(!n&&!m) break;    DP();    cout<<dp[n]<<endl;    }}


0 0
原创粉丝点击