ArabellaCPC 2019 B. Road to Arabella

題目

這個題題意弄明白就會了,也就是對手有一個正整數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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章