题解:

转化成求Nim-sum

每行黑白棋的初始间距作为每堆石子个数

假设当前为P态,则无论当前选手如何操作,下一个选手都能使其操作后的局面又变为P态。

Nim-sum = 0,即P态。

#include<cmath>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; int main() {
int n, m;
while(~scanf("%d%d", &n, &m)) {
int sum = 0;
for(int i=0; i<n; ++i) {
int x, y;
scanf("%d%d", &x, &y);
sum ^= (abs(x-y)-1);
} if(sum==0) puts("BAD LUCK!");
else puts("I WIN!");
}
return 0;
}

hdu1730 Northcott Game,Nim-sum的更多相关文章

  1. 【HDU1730】Northcott Game(Nim问题)

    Northcott Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. HDU1730 Northcott Game 尼姆博弈

    Northcott Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  3. NIM游戏,NIM游戏变形,威佐夫博弈以及巴什博奕总结

    NIM游戏,NIM游戏变形,威佐夫博弈以及巴什博奕总结 经典NIM游戏: 一共有N堆石子,编号1..n,第i堆中有个a[i]个石子. 每一次操作Alice和Bob可以从任意一堆石子中取出任意数量的石子 ...

  4. hdu 5465 Clarke and puzzle(前缀和,异或,nim博弈)

    Problem Description Clarke is a patient with multiple personality disorder. One day, Clarke split in ...

  5. 有两个数组a,b,大小都为n,;通过交换a,b中的元素,使sum(a)-sum(b)最小。

    有两个数组a,b,大小都为n,数组元素的值任意整形数,无序: 要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小. 当前数组a和数组b的和之差为    A = sum(a) - ...

  6. DataTable行分组,并sum求和

    两种方式: 第一种,Linq void Main() { var dt=new DataTable(); dt.Columns.Add("medicID"); dt.Columns ...

  7. 查找表,Two Sum,15. 3Sum,18. 4Sum,16 3Sum Closest,149 Max points on line

    Two Sum: 解法一:排序后使用双索引对撞:O(nlogn)+O(n) = O(nlogn) , 但是返回的是排序前的指针. 解法二:查找表.将所有元素放入查找表, 之后对于每一个元素a,查找 t ...

  8. UPCOJ9526(SG函数打表,nim游戏异或规则)

    #include<bits/stdc++.h>using namespace std;int f[1007],SG[1007],S[1007];//f为可以选取的石头个数,SG为sg函数, ...

  9. 【UVA11859】Division Game(SG函数,Nim游戏)

    题意:给定一个n*m的矩阵,两个游戏者轮流操作. 每次可以选一行中的1个或多个大于1的整数,把它们中的每个数都变成它的某个真因子,不能操作的输. 问先手能否获胜 n,m<=50,2<=a[ ...

随机推荐

  1. HDU4451Dressing(计数)

    HDU4451Dressing(计数) 题目链接 题目大意:给你N件衣服, M条裤子, K双鞋子,如今有P个不合理的的搭配(衣服和裤子或者裤子和鞋子),要求不用P中不理的搭配方式来将衣服裤子鞋子三件搭 ...

  2. 深度学习 Deep Learning UFLDL 最新 Tutorial 学习笔记 1:Linear Regression

    1 前言 Andrew Ng的UFLDL在2014年9月底更新了. 对于開始研究Deep Learning的童鞋们来说这真的是极大的好消息! 新的Tutorial相比旧的Tutorial添加了Conv ...

  3. dict和set的使用

    使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子 ...

  4. Quiz 6a Question 7————An Introduction to Interactive Programming in Python

     First, complete the following class definition: class BankAccount: def __init__(self, initial_bal ...

  5. 设计模式值六大原则——依赖倒置原则 (DIP)

    依赖倒置原则(Dependence Inversion Principle,DIP)的原始定义: 高层模块不应该依赖底层模块,两者都应该依赖其抽象: 抽象不应该依赖细节: 细节应该依赖抽象. 依赖倒置 ...

  6. 腾讯地图之Marker

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. git 代理设置

    git 代理设置: git config --global http.proxy http://proxy.com:8080git config --global https.proxy http:/ ...

  8. java多线程制作计时器

    基本思路: 在类中创建thread 供按钮监听器调用. 界面设计:

  9. uva--11991 - Easy Problem from Rujia Liu?(sort+二分 map+vector vector)

    11991 - Easy Problem from Rujia Liu? Though Rujia Liu usually sets hard problems for contests (for e ...

  10. stm32之PWM

    PWM是pulse width modulation的缩写,即脉冲宽度调制.其通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形: 1.PWM是一种对模拟信号电平进行数字编码的方法.通过高分辨率计 ...