sdjzu2121叠筐

来源:互联网 发布:淘宝旺铺有什么用 编辑:程序博客网 时间:2024/05/23 10:02

2121:叠筐分数: 2.3

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:3
解决: 1

题目描述

把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。


输入格式

输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;


输出

输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。


样例输入

5 ^ !
7 ( )
0

样例输出

 ^^^ 
^!!!^
^!^!^
^!!!^
 ^^^ 

 ))))) 
)((((()
)()))()
)()()()
)()))()
)((((()
 ))))) 

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

2121:叠筐 分数: 2.3时间限制:1 秒内存限制:32 兆特殊判题: 否 提交:3解决: 1题目描述把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。输入格式输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;输出输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。样例输入5 ^ !7 ( )0样例输出 ^^^ ^!!!^^!^!^^!!!^ ^^^  ))))) )((((())()))())()()())()))())((((() ))))) 提示[+]*** 提示已隐藏,点击上方 [+] 可显示 ***
#include<stdio.h>int main(){    char b,c;    int n,o=0;    while(scanf("%d%*c",&n)!=EOF)    {        o++;        if(n==0)break;        scanf("%c %c",&b,&c);        int i,j;        int z,f=-1,m,i1;        char c1,a[100][100];        z=n/2;        a[z][z]=b;        m=z+1;        i1=z-1;        if(n==1){if(o!=1)printf("\n");printf("%c\n",b);}        else if(n==3)        {a[0][0]=a[2][0]=a[0][2]=a[2][2]=' ';        a[0][1]=a[1][0]=a[1][2]=a[2][1]=c;        if(o!=1)printf("\n");        for(i=0;i<n;i++)        {for(j=0;j<n;j++)        printf("%c",a[i][j]);        printf("\n");        }        }        else {            while(m<n-1)        {            if(f==-1)c1=c;            else c1=b;            for(j=i1;j<=m;j++)            a[i1][j]=c1;            for(i=i1+1;i<=m;i++)            a[i][j-1]=c1;            for(j=m-1;j>=i1;j--)            a[i-1][j]=c1;            for(i=m-1;i>i1;i--)            a[i][j+1]=c1;            m++;            i1--;            f=-f;        }        if(c1==b)c1=c;        else if(c1==c)c1=b;        for(j=1;j<n-1;j++)        {            a[0][j]=c1;            a[n-1][j]=c1;        }        for(i=1;i<n-1;i++)        {            a[i][0]=c1;            a[i][n-1]=c1;        }        a[0][0]=a[0][n-1]=a[n-1][0]=a[n-1][n-1]=' ';        if(o!=1)printf("\n");        for(i=0;i<n;i++)        {for(j=0;j<n;j++)        printf("%c",a[i][j]);printf("\n");       }       }    }}


0 0