Codeforces Round 827 (Div. 4) C. Stripes

发布时间 2023-09-09 18:49:36作者: zsxuan

在一个 \(8 \times 8\) 的网格上,一开始无色。每次一整行或一整列地染色,后染的颜色会覆盖前染的颜色。

染色方式有两种,一种是横着染 \(R\) 色,一种是竖着染 \(B\) 色。给出最终染色的网格,问最后染的色是哪种。

对每行开 \(R\) 计数器、每列开 \(B\) 计数器。遍历行、列,如果计数器的值为 \(8\) ,则这种颜色是最后染色。

view
#include <bits/stdc++.h>
char g[10][10];
int row_r[10], clounm_b[10];
void solve() {
	for (int i = 1; i <= 8; i++) row_r[i] = clounm_b[i] = 0;
	for (int i = 1; i <= 8; i++) std::cin >> (g[i] + 1);
	for (int i = 1; i <= 8; i++) for (int j = 1; j <= 8; j++) {
		row_r[i] += (g[i][j] == 'R');
		clounm_b[j] += (g[i][j] == 'B');
	}
	for (int i = 1; i <= 8; i++) {
		if (row_r[i] == 8) {std::cout<<"R"<<"\n";return;}
		if (clounm_b[i] == 8) {std::cout<<"B"<<"\n";return;}
	}
}
signed main() {
	int _ = 1; std::cin >> _;
	while (_--) solve();
	return 0;
}