这道题其实就是尼姆博弈的变形,只不过是石头堆变成了两个点的距离
因为他们都是按最好的决策进行的 所以他们都会尽量往对方靠近 以使对方
没法移动 从而控制对方;
再对比尼姆博弈的石头堆 只要是将所有的石头堆进行异或 如果结果是
0 则先手必输;反之则胜;同理如果 他们的距离取异或 如果为0 先手即
黑子必输;
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int n, m, ti, ji;
while(cin >> n >> m)
{
int flag = 0;
for(int i = 0; i < n; i++)
{
cin >> ti >> ji;
flag ^= (abs(ti-ji)-1);//开始令flag为0,应为异或 同为0 不同为1 所以令flag为0无影响
}
if(flag)
cout << "I WIN!" << endl;
else
cout << "BAD LUCK!" << endl;
}
return 0;
}
hdu1730
最新推荐文章于 2020-02-16 15:22:17 发布