[CF959A]Mahmoud and Ehab and the even-odd game题解

题意简述
一个数n,Mahmoud珂以取(即如果取\(k\),使\(n = n - k\))一个正偶数,Ehab珂以取一个正奇数,一个人如果不能取了(对于Mahmoud和Ehab \(n = 0\),对于Mahmoud \(n = 1\)),对方就赢了。
Mahmoud先手,问谁会赢。

解法
很简单,如果n是奇数那么Mahmoud一次铁定取不玩,因为奇数减偶数为仍为奇数,所以剩下的肯定是奇数,那么Ehab讲把它取到0必胜;如果n为偶数Mahmoud一次去玩,Ehab必败。
简单来说,就是\(n\)为奇数Ehab胜,否则Mahmoud胜

代码

#include <cstdio> 
#define ll long long

inline ll read(){
    ll x = 0; int zf = 1; char ch = ' ';
    while (ch != '-' && (ch < '0' || ch > '9')) ch = getchar();
    if (ch == '-') zf = -1, ch = getchar();
    while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar(); return x * zf;
}

int main(){
    ll n = read();
    if (n == 0)
        printf("Ehab");
    else if(n & 1)
        printf("Ehab");
    else
        printf("Mahmoud");
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/linzhengmin/p/10893901.html