Adrien and Austin (南京A题) (博弈)
题目: 2022—暑假1 - Virtual Judge (vjudge.net)
大意: 2个人依次可以拿 1-n个石头,连续性的拿去, 谁不能拿谁输
思路:
- 利用博弈中的,无论先手整么拿,后手都可以把情况弄相似的思想.
- 通过先手的预处理, 拿中间一块或者2快,把石头分为数量相同的2堆,后手模仿先手的拿去情况
- 最后是对一些情况的特判,具体看代码:

#include <bits/stdc++.h> using namespace std; #define ri register int #define M 200005 int n,m; int T; int main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n>>m; if(n==0) { cout<<"Austin"; return 0; } if(n<=m) { cout<<"Adrien"; return 0; } if(n&1) { cout<<"Adrien"; return 0; } else { if(m==1) cout<<"Austin"; else cout<<"Adrien"; return 0; } }