POJ 1740 A New Stone Game【博弈】
来源:互联网 发布:windows 2008 r2 编辑:程序博客网 时间:2024/04/30 07:04
题目链接:
http://poj.org/problem?id=1740
题意:
分析:
好智障啊,题意就没搞清楚,一直以为是拿出来的只能放到一个非0堆中,其实是随意放在任何非0堆中!这很关键!
博弈的关键做出对称状态后再完全模仿对手
后手如果有条件完全模仿先手的状态,那么后手一定会赢。
如果堆数为偶数,我们分析如何会出现对称状态,如果本身就是对称的状态,如
如果堆数为奇数,从最大堆中拿出一部分,填补剩下的所有堆,使得两两相等。剩下的拿走。先手必赢。
那么问题来了,将最大的一堆中的石子平分给其他堆使得堆中棋子数两两相等
,这个一定可以实现么?
首先所有堆按照棋子个数排个序,则有
代码:
/************************************************************************* > File Name: 1740.cpp > Author: jiangyuzhu > Mail: 834138558@qq.com > Created Time: 2016/7/30 11:27:53 ************************************************************************/#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<vector>#include<set>#include<map>#include<algorithm>using namespace std;const int maxn = 10 + 5;int a[maxn];int main (void){ int n; while(scanf("%d", &n) && n){ bool flag = true; for(int i = 0; i < n; i++){ scanf("%d", &a[i]); } if(n & 1) puts("1"); else{ sort(a, a + n); for(int i = 0; i < n; i += 2){ if(a[i] != a[i + 1]){ puts("1"); flag = false; break; } } if(flag) puts("0"); } } return 0;}
0 0
- poj 1740 A New Stone Game( 博弈)
- poj 1740 A New Stone Game(博弈)
- poj 1740 A New Stone Game(博弈)
- poj 1740 A New Stone Game 博弈
- POJ 1740 A New Stone Game【博弈】
- POJ 1740 A New Stone Game(博弈)
- 博弈 POJ A New Stone Game
- POJ 1740 A New Stone Game (博弈)
- poj 1740 A New Stone Game(博弈)
- POJ 题目1740 A New Stone Game(博弈)
- POJ 1740 A New Stone Game 博弈,规律
- [POJ](1740)A New Stone Game --找规律博弈(博弈)
- POJ 1740 A New Stone Game
- POJ 1740 A New Stone Game
- POJ 1740 A New Stone Game
- poj 1740 A New Stone Game
- poj-1740 A New Stone Game 博弈论
- POJ 1740 A New Stone Game(博弈论)
- SPFA 模板
- Android实现退出整个应用程序代码;
- 排序算法 之 插入排序InsertionSort
- Ubuntu下slickedit的安装与配置
- 改HTML5里的input标签的required属性的提示为英文的
- POJ 1740 A New Stone Game【博弈】
- java之生产者消费者模式
- 4-5 报数 (20分)
- 欢迎使用CSDN-markdown编辑器
- Swift-常量与变量
- tjut 1159
- GZIP压缩原理分析(25)——第五章 Deflate算法详解(五16) 动态哈夫曼编码分析(05) LZ77过程(04)
- 最近遇到了一些事
- 让CORTANA实现关机,打开你想要打开的应用程序