這個題題意弄明白就會了,也就是對手有一個正整數n,你有一個正整數k<=n,每一次都能對n執行n-=x,(1≤x≤max(1,m−k));把0擺在對方面前就是贏了。
如此我們很容易想起奇偶性博弈,總能把偶數擺在對方面前,我們就行了,所以對所有n,k;我們要做的是,能不能總是把偶數擺在對方面前。
則當k+1== n,或者k== n,每次都只能減去1,所以n爲奇數我們才能總是把偶數擺在對方面前。其餘情況我們總能找到一個數讓對手變爲偶數,而且是k+1== n,或者k== n.也就是對手面臨着剛纔分析出來的必敗局面,我們就贏了。
代碼:
int main()
{//有用給個讚唄
int n;
scanf("%d",&n);
while(n--)
{
int a,b;
cin>>a>>b;
if(a==b||a-1==b)
{
if(a&1)printf("Kilani\n");
else printf("Ayoub\n");
}
else printf("Kilani\n");
}
return 0;
}