题目
题意
给一个n*m的棋盘,若遇到'.',则可以放棋子,'-'则不行。要求每个棋子相邻的颜色不同。参考了其他作者的思路。本来想黑白交换放,但发现会出现个别空没放的情况,而利用棋子位置奇偶来判断放黑白即可避免。
代码
#include<bits/stdc++.h>
using namespace std;
int main() {
char s[100][100];
int n,m;
scanf("%d%d",&n,&m);
for(int i=0; i<n; i++) {
cin>>s[i];
}
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
if(s[i][j]=='.') {
if(i%2==0) {
if(j%2==0) {
s[i][j]='B';
} else {
s[i][j]='W';
}
} else {
if(j%2==0) {
s[i][j]='W';
} else {
s[i][j]='B';
}
}
}
}
}
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
printf("%c",s[i][j]);
}
printf("\n");
}
return 0;
}