【第69题】经典的黑白染色问题:Codeforces 1848 - A. Vika and Her Friends

2023-08-31 15:13:23 浏览数 (2)

【第69题】经典的黑白染色问题:Codeforces 1848 - A. Vika and Her Friends

  • 【第XXX题】经典的黑白染色问题:Codeforces 1848 - A. Vika and Her Friends
    • 题目
    • 正解

题目

题目原文请移步下面的链接

  • https://codeforces.com/problemset/problem/1848/A
  • https://www.luogu.com.cn/problem/CF1848A
    • 参考题解:https://www.luogu.com.cn/problem/solution/CF1848A
  • 标签:OI数学

正解

  • 经典的黑白染色问题,当二者所处格子颜色不相同时是无论如何都不会赢得,这个颜色是否一致可以通过行列坐标相加的奇偶性判断
  • 下面搬运一下老师给讲的证明
    • 首先,当你处于一个黑格子时,你的下一步必定是一个白格子,同样,你处于一个白格子时,你的下一步一定是一个黑格子
    • 那么当你和朋友的格子初始颜色不一样时,你们后面每一轮的格子颜色都不一样,所以朋友抓不到你
    • 当颜色一样时,朋友就把你往角上围,最后总会把你逼死(我不会说怎么围着一part我听的稀里糊涂的
代码
代码语言:javascript复制
using namespace std;
#define endl 'n';

int f[100][100];

void best_coder() {
    int t;
    cin >> t;
    for(int i = 0; i < t;   i) {
        int n, m, k;
        cin >> n >> m >> k;
        int a, b;
        cin >> a >> b;
        int ans = (a   b) % 2;
        bool is = false;
        for (int j = 0; j < k;   j) {
            cin >> a >> b;
            int c = (a   b) % 2;
            if (ans == c && !is) {
                cout << "No" << endl;
                is = true;
            }
        }
        if (is) {
            continue;
        }
        cout << "Yes" << endl;
    }
}

void happy_coder() {
}

int main() {
    // 提升cin、cout效率
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    // 小码匠
    best_coder();

    // 最优解
    // happy_coder();

    // 返回
    return 0;
}

0 人点赞