欢迎访问==> 【考研OR保研】机试题
题目描述
给定一个 $N \\times M$ 的方格棋盘,请问一个棋子从棋盘左上角出发,能否在不重复经过棋盘上的方格的情况下,遍历整个棋盘一次再回到起点。
输入格式
输入包含多组测试数据。
每组数据占一行,包含两个整数 $N,M$。
输出格式
每组数据输出一行一个结果,如果能回到起点则输出 Y
,否则输出 N
。
数据范围
$1 \\le N,M \\le 10$
输入样例:
1 2
2 2
输出样例:
N
Y
C++ 代码
/*
画图找规律分情况讨论即可
1、当n == 1 && m == 1时, 满足题意
2、当n和m同时为奇数,不满足题意
3、当m == 1 || n == 1时,不满足题意
4、当m和n不同时为奇数,并且 m > 1 && n > 1,满足题意
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n ,m;
while(cin >> n >> m)
{
if(n == 1 && m == 1) puts("Y");
else if(n % 2 && m % 2) puts("N");
else if(n == 1 || m == 1) puts("N");
else puts("Y");
}
return 0;
}