POJ 2068 Nim (记忆化搜索+组合博弈)
来源:互联网 发布:naca4412翼型数据 编辑:程序博客网 时间:2024/06/05 09:06
题意:S个石头,双方n个人,每个人最多可以一次拿Si个石头,问先手有没有必胜策略
思路:记忆化搜素+组合博弈。(枚举出所有的情况)
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 30#define M 10000using namespace std;int f[N][M],a[N],n,m;// 1为败 0为胜int dfs(int x,int y){if(f[x][y]!=-1) return f[x][y]; //判断是否经历过for(int i=max(0,y-a[x]);i<y;i++) // 记忆化搜索枚举剩多少石子if(!dfs((x+1)%n,i)) // 如果是后一点N态,则当前点P态 return f[x][y]=1; return f[x][y]=0; // 如果后一点全都是P态,则当前点为N点}int main(){while(scanf("%d",&n)==1&&n!=0){n<<=1;scanf("%d",&m);for(int i=0;i<n;i++) scanf("%d",&a[i]);memset(f,-1,sizeof(f));for(int i=0;i<n;i++) f[i][0]=1;if(dfs(0,m)) puts("1");else puts("0");}}
阅读全文
0 0
- POJ 2068 Nim (记忆化搜索+组合博弈)
- POJ 2311-Cutting Game(Nim博弈-sg函数/记忆化搜索)
- POJ 2599 A funny game(组合博弈 P/N态+记忆化搜索)
- POJ 2960 S-Nim(SG+记忆化搜索)
- [POJ](2975)Nim ---Nim博弈(博弈)
- poj2068:NIM(记忆化搜索)
- poj 2068 Nim(博弈dp)
- uva 1559 - Nim(记忆化+博弈)
- poj 1143 Number Game 博弈 记忆化状态压缩搜索
- POJ 3317 博弈-极大极小过程+记忆化搜索+剪枝
- POJ 2975 Nim(nim博弈)
- POJ-2975-Nim(Nim博弈)
- POJ 2068 NIM (博弈DP)
- poj 2068 NIM 博弈+dp
- poj 2068 NIM (博弈DP)
- POJ 2068 Nim(博弈+dp)
- POJ 2068 Nim 博弈DP
- POJ 2068 Nim <博弈dp>
- 使用logstash将kafka数据入到elasticsearch
- Qt Designer中利用各个控件来setStyleSheet
- 对象,原型,原型链
- SpringMVC +Maven
- Java EasyCMS 更新至 1.2 版本
- POJ 2068 Nim (记忆化搜索+组合博弈)
- Maven的pom.xml文件详解
- Java设计模式:外观模式(Facade Pattern)与最少知识原则
- 洛谷[P1662]世纪难题 数7 打表,模拟
- [HDU](2149)Public Sale ---巴什博弈(博弈)
- Android中屏幕密度和图片大小的关系分析
- Java Thread 类中的方法和线程名称
- 笔试2
- 全面的Android文件目录解析和获取方法(包含对6.0系统的说明)