博弈---ZOJ 3057 Beans Game(DP博弈)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3057
有豆类三个桩。TT和DD挑选任意数量的豆子从任何两堆轮流任何桩或相同的数字。谁拿到最后一个Bean将获胜。TT和DD是很聪明的。
#include<stdio.h> #define N 300+4
bool dp[N][N][N]={0};//用bool比int省空间
void Init(){
int i,j,k,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
for(k=0;k<N;k++)
if(dp[i][j][k]==0)//当前位于必败态,前一步为必胜态,取的方法如下
{
for(t=1;t+k<N;t++) //t从1开始
dp[i][j][k+t]=1;
for(t=1;t+j<N;t++)
dp[i][j+t][k]=1;
for(t=1;t+i<N;t++)
dp[i+t][j][k]=1;
for(t=1;t+i<N&&t+j<N;t++)
dp[t+i][t+j][k]=1;
for(t=1;t+j<N&&t+k<N;t++)
dp[i][t+j][t+k]=1;
for(t=1;t+i<N&&t+k<N;t++)
dp[t+i][j][t+k]=1;
} }
int main()
{
Init();
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF){
printf("%d\n",dp[a][b][c]);
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
博弈---ZOJ 3057 Beans Game(DP博弈)的更多相关文章
- zoj 3057 Beans Game 博弈论
思路:三维DP,刚开始用记忆化搜索,MLE…… 后来改为直接预处理所有的情况. 总之就是必败态的后继是必胜态!!! 代码如下: #include<iostream> #include< ...
- ZOJ 3057 Beans Game 博弈论 sg函数
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3057 典型的sg函数,数据范围卡得真好啊 代码 #include<c ...
- codevs 1421 秋静叶&秋穣子(树上DP+博弈)
1421 秋静叶&秋穣子 题目描述 Description 在幻想乡,秋姐妹是掌管秋天的神明,作为红叶之神的姐姐静叶和作为丰收之神的妹妹穰子.如果把红叶和果实联系在一 起,自然会想到烤红薯 ...
- hdu6199 gems gems gems dp+博弈
/** 2017 ACM/ICPC Asia Regional Shenyang Online 解题报告 题目:hdu6199 gems gems gems 链接:http://acm.hdu.edu ...
- POJ 2068 NIm (dp博弈,每个人都有特定的取最大值)
题目大意: 有2n个人,从0开始编号,按编号奇偶分为两队,循环轮流取一堆有m个石子的石堆,偶数队先手,每个人至少取1个,至多取w[i]个,取走最后一个石子的队伍输.问偶数队是否能赢. 分析: 题目数据 ...
- ZOJ Problem Set - 3822Domination(DP)
ZOJ Problem Set - 3822Domination(DP) problemCode=3822">题目链接 题目大意: 给你一个n * m的棋盘,每天都在棋盘上面放一颗棋子 ...
- Beans Game(博弈 | | DP)zoj 3057
Beans Game Time Limit: 5 Seconds Memory Limit: 32768 KB There are three piles of beans. TT and DD pi ...
- ZOJ - 3057 D - Beans Game(三堆威佐夫博弈)
Beans Game Time Limit: 5 Seconds Memory Limit: 32768 KB There are three piles of beans. TT and DD pi ...
- zoj 3057 博弈
思路:对于TT来说,如果数量分别为a a b或 a b a,或 b a a的形式,那么TT必赢,因为TT可以使其成为 a a a的形式,那么不论DD 怎么拿,都是TT最后使其成为a a a 的形式,0 ...
随机推荐
- 【JVM】TroubleShooting之内存溢出异常(OOM)与调优
1. OOM概述 If your application's execution time becomes longer and longer, or if the operating system ...
- 用例程解释create_singlethread_workqueue与create_workqueue的区别
用例程解释create_singlethread_workqueue与create_workqueue的区别 系统版本:linux3.4 使用create_singlethread_workqueue ...
- coinmarketcap.com爬虫
coinmarketcap.com爬虫 写的真是蛋疼 # -*- coding:utf-8 -*- import requests from lxml import etree headers = { ...
- 直流电机驱动,TIMER口配置
电机的电压输出能力和频率有关??? 修改前:------------------------------------------------------------------------------ ...
- 关于 idea 快捷键 alt + f7 无法使用的一些尝试
1. 概述 问题 使用 idea 时, 快捷键 alt + f7 无法生效 环境 OS: win10 idea: idea 2018.1.5 GeForce Experience: 3.17.0.12 ...
- 20155234 2016-2017-2《Java程序设计》课程总结
20155234 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:师生关系 预备作业2:优秀技能经验 预备作业3:虚拟机linux初接触 第一周作业:认识 ...
- 20155333 2016-2017-2《Java程序设计》课程总结
20155333 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:你期望的师生关系是什么? 预备作业2:体会做中学(Learing By Doi ...
- [agc002D]Stamp Rally-[并查集+整体二分]
Description 题目大意:给你一个n个点m个条边构成的简单无向连通图,有Q组询问,每次询问从两个点x,y走出两条路径,使这两条路径覆盖z个点,求得一种方案使得路径上经过的边的最大编号最小.n, ...
- LVS入门篇(二)之LVS基础
1. LVS介绍 LVS是Linux虚拟服务器(LinuxVirtualServers),使用负载均衡技术将多台服务器组成一个虚拟服务器.它为适应快速增长的网络访问需求提供了一个负载能力易于扩展,而价 ...
- MSP430FR6972的串口波特率设置代码
1. 本次使用ACLK,就是辅助时钟(32.768KHZ)作为串口的时钟源,那么使用波特率9600的时候,分频系数=32768/9600=3.41,所以是有小数位的,设置代码如下 UCA0CTLW0 ...