水题,要求字典序,只要从上往下,从左往右,字母从A到Z,能放的放上就行了
#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
int i,j;
char mmm[11][11];
int T;
int n;
scanf("%d",&T);
int ccc=1;
while(T--){
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",mmm[i]);
}
char k;
for(j=0;j<n;j++){
for(i=0;i<n;i++){
if(mmm[i][j]=='.'){
for(k='A';k<='Z';k++){
if(i-1>=0){
if(mmm[i-1][j]==k)
continue;
}
if(i+1<n){
if(mmm[i+1][j]==k)
continue;
}
if(j-1>=0){
if(mmm[i][j-1]==k)
continue;
}
if(j+1<n){
if(mmm[i][j+1]==k)
continue;
}
mmm[i][j]=k;
break;
}
}
}
}
printf("Case %d:\n",ccc++);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%c",mmm[i][j]);
}
printf("\n");
}
}
return 0;
}