题目地址:
http://ac.jobdu.com/problem.php?cid=1040&pid=14
//九度OJ 教程15 排版类问题之叠筐
//http://ac.jobdu.com/problem.php?cid=1040&pid=14
#include<stdio.h>
#include<string.h>
int main()
{
char a[2],ss[82][82];
int i,j,n,x,y,flag;
while(~scanf("%d",&n))
{
memset(ss,0,82);getchar();//这里的getchar是不能省略的。不然第一个空格会被赋给a[0]!
scanf("%c %c",&a[0],&a[1]);
if(n==1)
{
printf("%c\n\n",a[0]);//刚开始无限Presentation Error。就是因为,这里少写了一个'\n'!!!
continue;
}
x=0;y=n-1;flag=((n-1)>>1)&1;
for(;x<=y;x++,y--)
{
for(i=x;i<=y;i++)
ss[i][x]=ss[x][i]=ss[i][y]=ss[y][i]=a[flag];
flag^=1;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if((i==0||i==n-1)&&(j==0||j==n-1))printf(" ");
else printf("%c",ss[i][j]);
}
printf("\n");
}
printf("\n");
}
return 0;
}