URAL1928(博弈dp)

来源:互联网 发布:淘宝怎么样开通旺铺 编辑:程序博客网 时间:2024/05/21 11:15


#include <iostream>#include <map>#include <cstdio>#include <string>#include <cstring>#include <queue>using namespace std;int main(){int n,m,k;int dp[10005][2]={{0}};int i,j;scanf("%d%d%d",&n,&m,&k);if (m>=k){for (i=1;i<k;i++)  dp[i][0]=m;dp[k][0]=k;}else{for (i=1;i<=m;i++)dp[i][0]=m;for (i=m+1;i<=k;i++)dp[i][0]=i;}for (i=k+1;i<=n;i++)for (j=1;j<=k;j++){if (dp[i-j][1]+j>dp[i][0] || (dp[i-j][1]+j==dp[i][0] && dp[i-j][0]<dp[i][1])){dp[i][0]=dp[i-j][1]+j;dp[i][1]=dp[i-j][0];}}printf("%d %d\n",dp[n][0],dp[n][1]);}


0 0
原创粉丝点击