小红和朋友玩游戏棋盘大小为nxm有一颗棋子在11的位置每次可以向上或者向右移动奇数单位不能移动到棋盘外面无法行动就输了小红先手请问小红能否必胜。输入描述一行一个整数t表示有t组数据。接下来t行每行两个整数n和m表示棋盘大小。
对于每一组数据,我们可以观察到以下规律:
-
当n和m中至少有一个为奇数时,小红必胜。这是因为无论小红怎么移动,小红始终可以将棋子移动到一个奇数行或奇数列的位置,而朋友无法继续移动。
-
当n和m均为偶数时,小红必输。这是因为无论小红怎么移动,朋友始终可以将棋子移动到一个奇数行或奇数列的位置,而小红无法继续移动。
因此,我们只需要判断每组数据的n和m是否满足以上条件即可确定小红是否必胜。具体实现如下:
t = int(input()) # 输入t的值
for _ in range(t):
n, m = map(int, input().split()) # 输入n和m的值
if n % 2 == 1 or m % 2 == 1: # 判断是否满足条件1
print("Yes")
else: # 不满足条件1时,必然满足条件2
print("No")
时间复杂度分析: 对于每组数据,我们只需要进行一次判断,因此时间复杂度为O(t)。
原文地址: https://www.cveoy.top/t/topic/i6cd 著作权归作者所有。请勿转载和采集!