小石的签到题 (博弈论&思维)

题目传送门

思路:显然n==1先手输,当n>1时,先手总会选择最优的情况,只要不取1,可以通过取其他数,来控制剩下数的个数,当剩下数为两个时,先手取一个,后手就必输。

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
#define mst(a) memset(a,0,sizeof a)
int main(){
	int n;
	scanf("%d",&n);
    puts(n==1?"Yang":"Shi");
	return 0;
}