简单模拟,外筐尺寸n影响外围花色,因为具有对称性,所以处理一半即可
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=85;
char map[N][N];
int main(){
int n,flag=0;
char in,out;
while(~scanf("%d %c %c",&n,&in,&out)){
if(flag) printf("\n");
flag=1;
if(n==1){
printf("%c\n",in);
continue;
}
char mp;
for(int i=0;i<=n/2;i++){
if((n/2)%2){
if(i%2) mp=in;
else mp=out;
}else{
if(i%2) mp=out;
else mp=in;
}
for(int j=i;j<n-i;j++){
map[i][j]=mp; //横
map[n-i-1][j]=mp;
map[j][i]=mp; //竖
map[j][n-i-1]=mp;
}
}
map[0][0]=map[n-1][n-1]=map[0][n-1]=map[n-1][0]=' ';
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
printf("%c",map[i][j]);
printf("\n");
}
}
return 0;
}