UVA - 10404 Bachet's Game 博弈
来源:互联网 发布:域名备案被注销 编辑:程序博客网 时间:2024/06/06 03:52
题目大意:有n颗石头,m种取石头的方式,问谁拿了第n颗石头
解题思路:用dp[i] == 1 表示第一个人刚好拿到第i颗石头,dp[i]==0表示第2个人刚拿到了第i颗石头
状态转移方程为: if(i >= move[j] && !dp[i-move[j]]),那么dp[i] = 1。
解释一下这个方程的意思,j表示第j种移动方式,如果第2个人刚好拿到第i-move[j]颗石头,那么第一个人就可以通过move[j]拿到第i颗石头了
#include<cstdio>#include<cstring>#include<algorithm>#define maxn 15int n,m,move[maxn],dp[1000005];int main() { while(scanf("%d", &n) != EOF) { scanf("%d",&m); for(int i = 1; i <= m; i++) scanf("%d", &move[i]); dp[0] = 0; for(int i = 1; i <= n; i++) { dp[i] = 0; for(int j = 1; j <=m ;j++) if(i >= move[j] && !dp[i-move[j]]) { dp[i] = 1; break; } } if(dp[n]) printf("Stan wins\n"); else printf("Ollie wins\n"); } return 0;}
0 0
- dp+博弈 uva-10404-Bachet's Game
- UVA 10404 - Bachet's Game 组合博弈
- UVA 10404 Bachet's Game(dp + 博弈?)
- UVa 10404 Bachet's Game (DP&博弈)
- uva 10404 Bachet's Game(dp 博弈)
- Uva 10404-Bachet's Game(博弈)
- UVA - 10404 Bachet's Game 博弈
- UVa 10404 - Bachet's Game 博弈+动态规划
- uva 10404 Bachet's Game (完全背包+博弈)
- UVA 题目10404 - Bachet's Game(DP+博弈)
- uva 10404 Bachet's Game
- UVA 10404 Bachet's Game
- UVa 10404 - Bachet's Game
- UVa 10404 - Bachet's Game
- uva 10404 - Bachet's Game
- UVa 10404 - Bachet's Game
- UVa 10404 - Bachet's Game
- Uva-10404-Bachet's Game
- MySQL数据库常用操作
- RFID作业1-1
- HDU1285_拓扑排序
- C++ 中的this指针
- dede常用语法笔记
- UVA - 10404 Bachet's Game 博弈
- leetcode 日经贴,python code -Decode Ways
- C printf() 详解——printf('%08x',number); 程序员面试宝典中的一个错误 char * b=(char *)&a
- 一步一步学习ASP.NET 5 (五)- TypeScript
- 记忆:嵌入式中 float型数无法进行除法和if判断
- LUA学习(二)---基本语法
- 省赛选拔第六场
- Source Insight简单教程
- [Android开发]This class should be public (android.support.v7.internal.widget.ActionBarView.HomeView)