题目:
蒜头君和花椰妹今天都很无聊。两个人相约一起玩游戏。
蒜头君取出了一堆奇形怪状的石子,并且把它分成了三堆。他和花椰妹轮流从里面取石子,取出最后一颗石子的人胜利。花椰妹觉得这样没意思,于是她要求加入一个限制条件:每个人每次只能取出 1,3,71,3,7 或 99 颗石子。石子数目不够的时候不能多取,如还剩 22 颗石子的情况下,只能拿走 11 颗,而不能选择 3,7,93,7,9。蒜头君答应了,但是他要让花椰妹先拿。
已知蒜头君和花椰妹都很聪明,总是会做出最好的拿石子办法。现在你能知道,花椰妹究竟能不能赢吗?
输入格式
共一行,包括三个整数 n,mn,m 和 kk (1 \leq n, m, k \leq 10001≤n,m,k≤1000),代表三堆石子的数目。
输出格式
如果花椰妹能赢,则输出"win";否则则输出"lose"。
样例输入1
2 3 4
样例输出1
win
样例输入2
2 3 5
样例输出2
lose
这道题涉及到简单的博弈思想,只需要考虑石子的总数是否为2的倍数即可,如果是2的倍数,那么当先手先取的石子后,后手始终保持取出来的石子与先手刚取出来的石子的和为2的倍数即可,那么这样在两人用最佳的战略下,后手一定赢;相反,如果石子的总数不是2的倍数,那么先手可以先取得单数石子之后,在后手取石子后,始终与后手之和为偶数即可
满分代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,k;
scanf("%d%d%d",&n,&m,&k);
if((n+m+k)%2==0) cout<<"lose"<<endl;
else cout<<"win"<<endl;
return 0;
}