比赛结束问马ZJ时,他说是博弈论中的Nim问题。今天百度一下,一大堆文字的,我也没认真看,就看懂了跟异域运算有关……不过结论挺简单的,写了下代码,竟然这么简单就AC了!好吧,我彻底无语了。看来是我做题太少,或者说没有系统的去学习算法的原因吧,不然这种题第一次做算难题,以后看到,根本就是水题。
#include <iostream>
using namespace std;
int main()
{
int i, N, ans, t;
cin >> N >> ans;
for (i=1; i<N; i++) cin >> t, ans ^= t;
if (ans) cout << "YES\n";
else cout << "NO\n";
return 0;
}