思路
当其中一个人不能动的时候,这个人一定位于点 \((n,m)\) 上。令点 \((n,m)\) 为终点。
当 \(n\) 和 \(m\) 都是奇数或当 \(n\) 和 \(m\) 都是偶数时,赢的人一定会是 Tonya。
原因很简单。当 \(n\) 和 \(m\) 都是偶数时,因为 Burenka 先手,奇数 \(+\) 奇数 \(=\) 偶数。所以最早抵达终点的人一定是 Tonya。当 Tonya 抵达终点后 Burenka 就无法移动了,故 Tonya 胜。
当 \(n\) 和 \(m\) 都是奇数时,假设他们的路线为先一直向右再一直向上,类比都是偶数的情况,第一个到达最右边的一定是 Burenka,到达右边界之后 Tonya 先走,这时最先到达上边界的人就变成了 Tonya,也就是终点,这时 Burenka 无法移动,故 Tonya 胜。
当 \(n\) 和 \(m\) 中只有一个数是奇数的时候,类比上面的两种走法,不同的是此时最先到达终点的人变成了 Burenka,这时 Burenka 获胜。
代码
#include <bits/stdc++.h>
using namespace std;
int t, n, m;
int main() {
scanf("%d", &t);
while (t--) {
scanf("%d%d", &n, &m);
int p = 0;
if (n & 1) {
p++;
}
if (m & 1) {
p++;
}
if (p == 1) {
puts("Burenka");
} else {
puts("Tonya");
}
}
return 0;
}
标签:Burenka,终点,偶数,奇数,int,题解,Chip,Tonya,CF1719A
From: https://www.cnblogs.com/Dregen-Yor/p/16596327.html