poj2975 Nim

原创 2013年12月05日 12:46:37

Nim博弈,问有多少种胜利的方法,

因为答案最多只有n,令ans=a1^a2^...^an,如果需要构造出异或值为0的数,
而且由于只能操作一堆石子,所以对于某堆石子ai,现在对于ans^ai,就是除了ai以外其他的石子
的异或值,如果ans^ai< ai,那么对于ai的话,是可以减小到ans^ai的值。将结果统计。

Source Code

Problem: 2975		User: 455707843
Memory: 756K		Time: 391MS
Language: G++		Result: Accepted
Source Code
#include <iostream>

using namespace std;

#define oo (~0U >> 1)
#define MAXN 1000 + 10

int temp[MAXN];

void input()
{
    int n;

    while (cin >> n, n)
    {
        int sum = 0;

        for (int i = 0; i < n; i++)
        {
            cin >> temp[i];
            sum ^= temp[i];
        }

        if (!sum)
        {
            cout << 0 << endl;
        }
        else
        {
            int ans = 0;

            for (int i = 0; i < n; i++)
            {
                if ((sum ^ temp[i]) < temp[i])
                {
                    ans++;
                }
            }

            cout << ans << endl;
        }
    }
}

int main()
{
    input();
    return 0;
}


相关文章推荐

POJ Nim (2975)

Description Nim is a 2-player game featuring several piles of stones. Players alternate turns, ...

《挑战程序设计竞赛》4.2.2 游戏必胜策略-Nim与Grundy数 POJ2975 1704 2311 3537 2315 CF138D(2)

POJ 2975 取石头问题http://poj.org/problem?id=2975题意有n堆石头,甲乙两个人轮流拿,每次从某堆石头中拿出至少一个。若轮到某人时无石可拿,此人输。 当甲存在必赢策...

poj 2975 Nim 尼姆博弈,求取胜方案数

Nim is a 2-player game featuring several piles of stones. Players alternate turns, and on his/her tu...

HDU1850博弈论_NIM游戏——POJ2975

1) 每个堆的扑克数量异或后得到的数res,如果为0则为必败态,如果为1则为必胜态。 本题求先手的人如果想赢第一步有几种选择,就是为有几种选择可以让当前必胜态转为必败态然后使对方保持必败态。(陷阱是先...

poj2975,hdu1850,hdu2176(Nim博弈求方案数)

地址:http://poj.org/problem?id=2975 Nim Time Limit: 1000MS   Memory Limit: 65536K Total Submiss...

poj2975 Nim 博弈

自从省赛结束了,好久都做过博弈题了,感觉都快忘了。今天找了几题练练手,在做过程中,感觉这道题挺有意思的。题目的意思是说,在Nim游戏中,先手有几种方式让 Nim 和变为0。(不知道Nim游戏的,请参考...

NIM游戏-博弈论(poj2975+CodeForces - 768E)

NIM游戏是博弈论中的经典模型。就是常见的取石子游戏,一般是不能再取石子的一方输。 两个状态:P-position,先手必败 必败点。N-position,先手必胜 必胜点。 (根据自身的理解,用较直...

ZOJ3067 POJ2975 Nim,经典NIM游戏

非常经典的NIM游戏,详情我就不献丑了。。。 题目的要求就是给定n堆石子,如果你处于一个必输点(losing)的话,输出0,否则输出一个方案数,表明总共有多少总策略可以保证自己必胜(winning ...
  • neofung
  • neofung
  • 2012年06月09日 16:18
  • 1360

POJ2975——Nim(经典nim变种)

Nim Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5556   Accepted: ...

POJ-2975-Nim(Nim博弈)

链接:http://poj.org/problem?id=2975 Language: Default Nim Time Limit: 1000MS ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj2975 Nim
举报原因:
原因补充:

(最多只允许输入30个字)