P1247 取火柴游戏(异或理论)
Posted xcfxcf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1247 取火柴游戏(异或理论)相关的知识,希望对你有一定的参考价值。
https://www.luogu.com.cn/problem/P1247
#include <bits/stdc++.h> using namespace std; #define int long long const int maxn = 5e5 + 5; int n; int a[maxn]; signed main(){ //freopen("in","r",stdin); ios::sync_with_stdio(0); cin >> n; int tmp = 0; for(int i = 1; i <= n; i++){ cin >> a[i]; tmp ^= a[i]; } if(tmp){ for(int i = 1; i <= n; i++){ if((a[i] ^ tmp) >= a[i]) continue; cout << a[i] - (a[i] ^ tmp) << " " << i << endl; a[i] ^= tmp; break; } for(int i = 1; i <= n; i++) cout << a[i] << " "; }else cout << "lose "; return 0; }
以上是关于P1247 取火柴游戏(异或理论)的主要内容,如果未能解决你的问题,请参考以下文章
ybtoj 博弈论课堂过关luogu P1247luogu P2197模板nim 游戏 & 取火柴游戏 &例题1取火柴游戏