小石的签到题
小石的签到题
https://ac.nowcoder.com/acm/contest/5505/D
Solution
玄学签到,乱写乱A!!
就像题目说的那样,货真价实的签到题,先暴力枚举下,会发现除开1,一直到5都是
直接先把结论猜了,交一发,A了。
再想想为啥?我们可以发现,如果最后存在2个数,因为每次只能拿一个,所以必要两轮,先手就赢了。
再拓展一下,1-n个数中,每次取数,只能对半取,并且拿过的数不能继续递减,所以不可能一次全部取完,一定会有第二个人的取值机会,那么先手就可以控制取值,预判后手的全部取值可能,把前面一段先给拿掉,让后手一定陷入输的局面。简称后手没人权!!
#include <bits/stdc++.h> using namespace std; #define js ios::sync_with_stdio(false);cin.tie(0); cout.tie(0) typedef long long ll; inline int read() { int s = 0, w = 1; char ch = getchar(); while (ch < 48 || ch > 57) { if (ch == '-') w = -1; ch = getchar(); } while (ch >= 48 && ch <= 57) s = (s << 1) + (s << 3) + (ch ^ 48), ch = getchar(); return s * w; } int main() { int n = read(); if (n == 1) puts("Yang"); else puts("Shi"); return 0; }