外传:编剧说了不玩游戏不行
题意:
有n个石堆,我每次只能从某一堆中取偶数个石子,你取奇数个,我先手,先不能操作的人输。问最后谁能赢。
思路:
这个题仔细想想,就发现,取奇数的人有巨大的优势,因为假设有一个奇数堆的,我只要一直取其他堆,直到剩下这一个奇数堆的时候我就赢了,因为取偶数的人无论如何都取不了这一个奇数堆的,然后我们发现,假设当前没有奇数堆,只要还剩下石子堆,我只要取1个就能变成奇数堆,然后我就必胜了,所以只有一种情况可能会输,那就是只有一堆石子且那一堆是偶数个,被对面先手一次性取完,不然奇数的怎么都会赢
代码实现
#include#include using namespace std;typedef long long ll;const int maxn = 1200;int a[maxn];int main(){ int T; cin>>T; while(T--){ int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; if(n==1&&a[1]%2==0){ puts("bugaoxing"); } else { puts("meitounao"); } } return 0;}