题目链接:poj 1740 A New Stone Game
题目大意:就是有n堆旗子,给出每堆旗子的个数,现在由两个人来进行游戏,当前操作的人要选中一堆旗子,然后拿走其中至少一个旗子,并且可以选择将若干的旗子查到1或多的其他旗堆中;如果有一方没有旗子可以拿,则算输,问说先拿个人是赢还是输。
解题思路:判断旗子的个数是否成对,如果成对的话,第一个如果操作,第二个人可以仿照第一人的操作。
成对:1 1 4 4 (有一个1对,一个4对);1 4 4 2(1 和2不成对)。
那如果不成对的话,一定是第一个人获胜,以为无论有多少个不成对的堆,都可以用最大的那堆将所有的补成对。
#include <stdio.h>
#include <string.h>
const int N = 105;
int main () {
int a, n, c[N];
while (scanf("%d", &n) == 1 && n) {
memset(c, 0, sizeof(c));
for (int i = 0; i < n; i++) {
scanf("%d", &a);
c[a]++;
}
int ans = 0;
for (int i = 0; i < N; i++)
ans += (c[i]&1);
printf("%d\n", ans ? 1 : 0);
}
return 0;
}
分享到:
相关推荐
poj 1740题A New Stone Game 附带源代码
北大POJ1027-The Same Game 解题报告+AC代码
北大POJ1753-Flip Game 解题报告+AC代码
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
北大POJ1584-A Round Peg in a Ground Hole 解题报告+AC代码
poj 3901 The Computer Game.md
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
北大POJ1942-Paths on a Grid 解题报告+AC代码
北大POJ2488-A Knight's Journey 解题报告+AC代码
poj 1353 Color Change of Go Game Pieces.md
北大POJ2031-Building a Space Station【Prim+计算几何】 POJ2031-Building a Space Station【Prim+计算几何】
北大POJ2996-Help Me with the Game 解题报告+AC代码
poj分类poj分类poj分类poj分类
北大POJ1005-I Think I Need a Houseboat 解题报告+AC代码
POJ第1861题源码 POJ第1861题源码 POJ第1861题源码
北大POJ1691-Painting A Board 【拓扑+DFS】 解题报告+AC代码
poj 3414解题报告poj 3414解题报告poj 3414解题报告poj 3414解题报告
北大POJ1159-Palindrome 解题报告+AC代码
poj 1012解题报告poj 1012解题报告poj 1012解题报告poj 1012解题报告
poj 2329解题报告poj 2329解题报告poj 2329解题报告poj 2329解题报告