m+n为奇数为Yes,否则为No;
(1) 当m+n为奇数时,m和n必然是一奇一偶,可以选择直接跳到偶数那一边的最后一格子,然后剩奇数格的那条边,这个时候需要跳偶数个单位才能到达死角,而对手只能走奇数个单位,他走之后我们在走奇数个单位即可直接走到死角
(2)当m+n为偶数时,m和n均为奇或偶,无论走几格,都会陷入对方先手的第一种情况,必输
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
if (m + n) % 2 == 1:
print("Yes")
else:
print("No")
c++
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;cin>>t;
for(int i=0;i<t;i++){
int n,m;cin>>n>>m;
if((n+m)%2==0){
cout<<"No"<<endl;
}
else{
cout<<"Yes"<<endl;
}
}
}
Java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int T = scanner.nextInt();
for(int t = 0; t < T; t++){
int n = scanner.nextInt();
int m = scanner.nextInt();
if((m + n) % 2 == 1){
System.out.println("Yes");
}else System.out.println("No");
}
}
}
一天,小红和朋友玩游戏,他们找到了一个棋盘,棋盘的大小为nxm,在坐标轴(1,1)处有一个棋子,每次可以向上或者向右移动奇数单位,不能移动到棋盘外面,无法行动就输了,小红先手,请问小红能否必胜。
一行一个整数t,表示有t组数据。
接下来t行,每行两个整数n和m,表示棋盘大小。
1≤t≤104
1≤n,m<103
对于每组数据,输出一行,如果小红必胜,输出”Yes”,否则输出”No”
4
1 1
1 4
4 1
4 4
输出
No
Yes
Yes
No
说明
样例一,棋盘大小为1x1,小红无法行动,输了。 样例二,棋盘大小为1x4,小红第一次向右移动3个单位,小红获胜,朋友无法行动。 样例三棋盘大小为4x1,小红第一次向上移动3个单位,小红获胜,朋友无法行动。