# |
Author |
Problem |
Lang |
Verdict |
Time |
Memory |
Sent |
Judged |
|
123149387 |
Practice:
cnyzz |
1450C2
- 24
|
GNU C++11
|
Accepted
|
61 ms
|
3912 KB
|
2021-07-21 06:24:38 |
2021-07-21 06:24:38 |
|
#include<bits/stdc++.h>
using namespace std;
int n,sum,cnt;
char mp[310][310];
void work() {
scanf("%d",&n);
sum=cnt=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) {
cin>>mp[i][j];
if(mp[i][j]=='X'||mp[i][j]=='O') sum++;
}
cnt=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(((i-1)+(j-1))%3==0&&mp[i][j]=='X') cnt++;
else if(((i-1)+(j-1))%3==1&&mp[i][j]=='O') cnt++;
if(cnt<=sum/3) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++) {
if(((i-1)+(j-1))%3==0&&mp[i][j]=='X') putchar('O');
else if(((i-1)+(j-1))%3==1&&mp[i][j]=='O') putchar('X');
else printf("%c",mp[i][j]);
}
puts("");
}
return;
}
cnt=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(((i-1)+(j-1))%3==1&&mp[i][j]=='X') cnt++;
else if(((i-1)+(j-1))%3==2&&mp[i][j]=='O') cnt++;
if(cnt<=sum/3) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++) {
if(((i-1)+(j-1))%3==1&&mp[i][j]=='X') putchar('O');
else if(((i-1)+(j-1))%3==2&&mp[i][j]=='O') putchar('X');
else printf("%c",mp[i][j]);
}
puts("");
}
return;
}
cnt=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(((i-1)+(j-1))%3==2&&mp[i][j]=='X') cnt++;
else if(((i-1)+(j-1))%3==0&&mp[i][j]=='O') cnt++;
if(cnt<=sum/3) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++) {
if(((i-1)+(j-1))%3==2&&mp[i][j]=='X') putchar('O');
else if(((i-1)+(j-1))%3==0&&mp[i][j]=='O') putchar('X');
else printf("%c",mp[i][j]);
}
puts("");
}
return;
}
}
signed main() {
int t;scanf("%d",&t);
while(t--) work();
}
Click to see test details