# T678256 多米诺游戏 ## 题目背景 Alice 和 Bob 在一个 $n$ 行 $m...
创建于:2025年10月11日
使用 GPT-5 Thinking 回答 Chat01
创建于:2025年10月11日
使用 GPT-5 Thinking 回答 Chat01
Alice 和 Bob 在一个 行 列的网格上玩游戏,他们轮流放置 的多米诺骨牌(可以横放或竖放),Bob 先手。
Alice 的目标是尽量让网格被放满,Bob 的目标是尽量让网格不被放满。
骨牌不能重叠,也不能超出网格边界。
当网格被完全放满时,输出 Yes
;如果网格没有被放满,但双方都无法再放置骨牌时,输出 No
。
现在给定多组数据,请你判断每组数据的游戏结果。
给定 组数据,每组数据包含两个整数 和 ,表示网格的行数和列数。
Alice 和 Bob 轮流在网格上放置 的多米诺骨牌,Bob 先手。
如果最终网格被完全放满,输出 Yes
。
如果网格没有被放满,但双方都无法再放置骨牌,输出 No
。
第一行一个整数 ,表示数据组数。
接下来 行,每行两个整数 。
共 行,每行一个字符串 Yes
或 No
,表示对应数据的游戏结果。
text3 1 2 2 2 3 3
textYes Yes No
对于 的网格,Bob 可以放一个骨牌占满整个网格,因此输出 Yes
。
对于 的网格,Bob 先放一个骨牌(横放或竖放),Alice 可以在剩余空间放另一个骨牌,最终网格被放满,输出 Yes
。
对于 的网格,总格子数为奇数,无法用 的骨牌完全覆盖,因此最终网格不会被放满,输出 No
。
,。(请使用c++)
结论很简单:
Yes
;No
。No
。Yes
。cpp#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T; if (!(cin >> T)) return 0; while (T--) { long long n, m; cin >> n >> m; // 只需判断奇偶,不必相乘避免溢出 if ((n & 1LL) && (m & 1LL)) { cout << "No\n"; } else { cout << "Yes\n"; } } return 0; }
说明:只判断奇偶即可,避免 溢出;范围 用 long long
足够进行奇偶判断。