【博弈&动态规划】poj2068Nim
来源:互联网 发布:数据精度 英文 编辑:程序博客网 时间:2024/06/07 09:23
记忆化的搜索,在数据规模较小的情况下比较好用。
这道博弈的题目完全可以借助于动态规划求解,形式上是递归,实质上借助于一个数组避免了重复的计算。
代码如下:
#include<iostream>using namespace std;int search(int count,int leftNumber);int n,maxNumber[50];int dp[25][10001];int main(){int total;while(cin>>n&&n){cin>>total;n=n*2;for(int i=0;i<n;i++)cin>>maxNumber[i];for(int i=0;i<n;i++)for(int j=0;j<=total;j++)dp[i][j]=-1;//the process of initializationsearch(0,total);cout<<dp[0][total]<<endl;}//system("pause");return 0;}int search(int count,int leftNumber){if(dp[count][leftNumber]!=-1)return dp[count][leftNumber];//boundary conditionsif(leftNumber==0){dp[count][leftNumber]=1;return 1;}else if(leftNumber==1){dp[count][leftNumber]=0;return 0;}for(int i=1;i<=maxNumber[count];i++){if((leftNumber-i)>=0&&search((count+1)%n,leftNumber-i)==0){dp[count][leftNumber]=1;return 1;}}dp[count][leftNumber]=0;return 0;}
- 【博弈&动态规划】poj2068Nim
- 博弈与动态规划
- 纸牌博弈(动态规划java)
- 纸牌博弈问题 动态规划
- ZJU1607 Varacious Steve - 博弈&动态规划★
- 第二弹,博弈游戏与动态规划
- UVa 10404 - Bachet's Game 博弈+动态规划
- 博弈 单堆石子的动态规划实现
- nyoj--171--聪明的kk(动态规划--博弈)
- 动态规划-排成一条线的纸牌博弈等问题
- 动态规划-排成一条线的纸牌博弈问题
- 博弈论专题——推理与动态规划相关博弈之POJ2068 POJ3688动态规划)
- 动态规划!!!动态规划!!!
- 蓝桥杯——说好的进阶之取数博弈游戏(动态规划实现)
- 博弈树,动态规划(计算好的子问题存储起来,以后直接取用)
- hdu 1847 Good Luck in CET-4 Everybody! 动态规划/巴什博弈
- ACM中的博弈论入门(四)POJ 2068 动态规划处理的博弈
- 博弈论专题——推理与动态规划相关博弈之POJ2484 POJ1740(模仿游戏)
- Linux运维日常监控的对象
- Android对文件的保存操作
- android 使用Scroller实现缓慢移动
- Debian 安装Flash插件
- 应用spring OSGI管理bean
- 【博弈&动态规划】poj2068Nim
- d-dimensional Delaunay
- gdb调试
- Java @Override报错解决办法
- 样在VS中设置编译选项(以启用OpenMP)
- 确保对象的唯一性——单例模式 (一)
- n-sphere
- linux程序设计笔记--pthread--semaphore
- ios uicolor设置