#include <iostream> #include <cstdio> using namespace std; char matrix[80][80];//缓冲数组 int main(){ int n; char a,b; bool firstCase = true; // 首个筐叠前不空行 while(scanf("%d %c %c",&n,&a,&b) != EOF){ //循环读取输入值 // 空行 if(firstCase == true){ firstCase = false; }else{ printf("\n"); } // 数组赋值 for(int i = 0;i<=n/2;i++){ //i行、i列、j行、j列围成的圈值相同 int j = n-1-i; //当前圈为哪个字符 char c; if((n/2-i)%2 == 0){ c = a; }else{ c = b; } //当前圈赋值 for(int k = i;k<=j;k++){ matrix[i][k] = c; matrix[k][i] = c; matrix[j][k] = c; matrix[k][j] = c; } } // 修改最外筐的角 if(n!=1){ // n等于1修改后为空(n为奇数) matrix[0][0] = ' '; matrix[0][n-1] = ' '; matrix[n-1][0] = ' '; matrix[n-1][n-1] = ' '; } // 输出数组 for(int i =0;i<n;i++){ for(int j=0;j<n;j++){ printf("%c",matrix[i][j]); } printf("\n"); } } return 0; }