2018年ACM-ICPC 南京現場賽 A.Adrien and Austin
阿新 • • 發佈:2018-12-15
題意
有一堆數量為N的石子,石子編號從排成一列,兩個人玩遊戲,每次可以取個連續編號的石子,Adrien先手,如果有誰不能取了則他輸,兩個人為Adrien 和Austin
思路
當K為1時顯然的和N的奇偶性有關,那麼我們考慮一下的情況 對於先手的Adrien來說,他對任意的N顆石子,他都可以將這N顆石子分成兩段相當數量的石子(從中間開始拿對於奇數拿一顆,對於偶數拿兩顆),那麼剩下的兩段相當於是獨立的兩個相同的遊戲了,如果後手拿其中一段,那麼我先手就對另一段進行這樣相同的拆分,那麼能保證我先手總是有石子能拿,所以我先手必勝,也就是說當的時候先手必勝,的時候判斷奇偶,的時候特判即可
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <math.h> #include <stack> #include <list> int main() { int n,k; scanf("%d%d",&n,&k); if(n==0) { printf("Austin\n"); } else if(k==1) { if(n%2==1) printf("Adrien\n"); else printf("Austin\n"); } else printf("Adrien\n"); return 0; }