Problem
题目简述
给你一个 \(n \times m\) 的方格,构造一个方案,使得方案中 \(B = W + 1\)。
\(B\):相邻的格子有至少一个白色格子的黑色格子的个数。
\(W\):相邻的格子有至少一个黑色格子的白色格子的个数。
思路
分奇偶讨论。
-
\(n \times m\) 是偶数:构造一张黑、白相间的矩阵,左上角填为白色,黑色方块的数量相同。
-
\(n \times m\) 是奇数:构造一张黑、白相间的矩阵,左上角填为黑色,黑白快数量相同。
代码
#include <bits/stdc++.h>
using namespace std;
int T, n, m;
int main() {
scanf("%d", &T);
while (T--) {
scanf("%d%d", &n, &m);
if((n & 1) && (m & 1)) {
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
if((i + j) & 1) printf("%c", 'W');
else printf("%c", 'B');
}
puts("");
}
}
else {
printf("%c", 'B');
for(int i = 2; i <= m; i++) {
if((i + 1) & 1) printf("%c", 'B');
else printf("%c", 'W');
}
puts("");
for(int i = 2; i <= n; i++) {
for(int j = 1; j <= m; j++) {
if((i + j) & 1) printf("%c", 'B');
else printf("%c", 'W');
}
puts("");
}
}
}
return 0;
}
标签:Little,黑色,CF1333A,格子,int,times,Artem
From: https://www.cnblogs.com/yhx0322/p/17758375.html