1.每两个筐之间才有换行符,最后一个筐后面不要有换行符
2.筐的尺寸为1的时候单独考虑
#include<iostream>
#include<vector>
using namespace std;
int main() {
int a,count=0;
char in,out;
while(cin>>a>>in>>out) {
if(count++)cout<<endl;
if(a==1) {
cout<<in<<endl;
} else {
vector< vector<char> > map;
map.resize(a,vector<char>(a) );
int quanshu=a/2+1,x=a/2,y=a/2,num=1;
char zifu=in;
while(quanshu--) {
int t=num;
while(t--) {
map[x][y]=zifu;
if(t)y++;
}
t=num;
while(t--) {
map[x][y]=zifu;
if(t)x++;
}
t=num;
while(t--)
{
map[x][y]=zifu;
if(t)y--;
}
t=num;
while(t--) {
map[x][y]=zifu;
if(t)x--;
}
x--;
y--;
if(zifu==in)zifu=out;
else zifu=in;
num+=2;
}
map[0][0]=' ';
map[a-1][0]=' ';
map[0][a-1]=' ';
map[a-1][a-1]=' ';
for(int i=0; i<a; i++) {
for(int j=0; j<a; j++)
cout<<map[i][j];
cout<<endl;
}
}
}
return 0;
}