CF7A Kalevitch and Chess 题解

小邱

2021-02-19 17:38:21

Personal

[题目传送门](https://www.luogu.com.cn/problem/CF7A) [AC记录](https://www.luogu.com.cn/record/46775718) ~~每次都要贴好烦~~ 这题数据不太大,暴力可以过,但我觉得我的方法好一些。 根据题意可以题把转换成输入转全白 根据题意可知,肯定一行或一列全是B就涂,因为如果一行断断续续且续的那一列也断断续续,那么,就不可能成功了! 比如: BBBBBWB BBBBBWB BBBBBWB BBBBBWB BBBBBWB BBBBBWB BBBBBWB WWWWWWW 什么?你还不明白,他一次涂一串,怎么断断续续??? 剩下的代码上见! ```cpp #include<bits/stdc++.h> using namespace std; string a[8];//矩阵 int main() { int i,ans=0; for(i=0;i<8;i++)//8行 { cin>>a[i]; if(a[i]=="BBBBBBBB")//一行全是B,肯定要涂 { ans++; a[i]="WWWWWWWW";//让他变成白色 } } for(i=0;i<8;i++)//8列 { if(a[0][i]=='B'||a[1][i]=='B'||a[2][i]=='B'||a[3][i]=='B'||a[4][i]=='B'||a[5][i]=='B'||a[6][i]=='B'||a[7][i]=='B')//一行一行涂完了,该列了,因为可能行列有交叉点,所以断断续续也没事了,这一列只要还有一个是B,说明他所在的那一行没有涂,所以让列来涂 { ans++; } } printf("%d",ans); return 0; } ```