「 「 「数学基础 」 」 」第 5 5 5章 博弈论
目录:
A.取火柴游戏
B.数字游戏
C.魔法珠
D.剪纸游戏
A . A. A. 例题 1 1 1 取火柴游戏
L u o g u Luogu Luogu l i n k link link
分析:
N I M NIM NIM游戏模板 主要是输出方案
必胜情况下 必有 a i x o r x < x a_i~xor~x<x ai xor x<x 找到 a i a_i ai并输出即可
CODE:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=5e5+5;
int n,a[N],ans;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
ans^=a[i];
}
if(ans==0){
puts("lose");
return 0;
}
for(int i=1;i<=n;i++)
if((a[i]^ans)<a[i])
{
printf("%d %d\n",a[i]-(a[i]^ans),i