B-小蓝的旅游

看到这题我就想起小时候玩手机,总有什么能不能一笔从左上角画到左下角,清华北大答不出,农名工给出解答这类营销号的题目,我真的是绞尽脑汁画不出。。。

言归正传,现在我们假设这个网格图中有0和1交错分布,即0的上下左右4个方向全是1,1的上下左右4个方向全是0,那么走了1所在的格子后下一个格子必定是0,走了0所在的格子后下一个格子必定是1。所以,设左上角的数字为0,当n为奇数时(有奇数行),可以得知左下角也是0,根据刚刚的分析,要走奇数次才可以走到0(一定是0->1->0->1->0这样走),同理,当n为偶数时,可以知道左下角是1,要走偶数次才能走到1。

我们知道总共有nm个格子,即一共要走nm步,所以当且仅当n*m和n模2相等时,存在题目要求的路径,代码如下:

#include<iostream>
using namespace std;

int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    int sum = n * m;
    if(sum % 2 == n % 2) {
        cout << "YES";
    } else {
        cout << "NO";
    }
    return 0;
}