zoukankan      html  css  js  c++  java
  • 编筐

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

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

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

    Sample Input
    11 B A
    5 @ W

    Sample Output
    AAAAAAAAA
    ABBBBBBBBBA
    ABAAAAAAABA
    ABABBBBBABA
    ABABAAABABA
    ABABABABABA
    ABABAAABABA
    ABABBBBBABA
    ABAAAAAAABA
    ABBBBBBBBBA
    AAAAAAAAA

    @@@
    @WWW@
    @W@W@
    @WWW@
    @@@

    #include <iostream>
    using namespace std;
    char str[100][100];
    int n;
    void cc(int m,int th,char a)
    {
    int i;
    for(i=th;i<=n+1-th;i++)
    {
    str[i][th]=a;
    str[i][n+1-th]=a;
    }
    for(i=th;i<=n+1-th;i++)
    {
    str[th][i]=a;
    str[n+1-th][i]=a;
    }
    }
    int main()
    {
    int i,j,m,k=0;
    char str1,str2,str0;
    while(cin>>n>>str1>>str2)
    {
    if(k!=0) cout<<endl;
    if(n==1) {cout<<str1<<endl;k++;continue;}
    m=n/2+1;
    for(i=1;i<=m;i++)
    {
    if(i%2==0&&m%2==0) str0=str1;
    if(i%2!=0&&m%2==0) str0=str2;
    if(i%2==0&&m%2!=0) str0=str2;
    if(i%2!=0&&m%2!=0) str0=str1;
    cc(m,i,str0);
    }
    str[1][1]=str[1][n]=' ';
    str[n][1]=str[n][n]=' ';
    for(i=1;i<=n;i++)
    {
    for(j=1;j<=n;j++)
    cout<<str[i][j];
    cout<<endl;
    }
    k++;
    }
    return 0;
    }

  • 相关阅读:
    start internal web server in .net 2.0
    windows scripts tips
    move vs2k3 to vs2k5
    w2k telnet port change
    Webservice自动表生成TableForGen
    用C#改写Head First Design PatternsSingleTon(原创)
    使用反射创建动态模块
    使用反射将委托挂钩
    用C#改写Head First Design PatternsState(原创)
    用Xmlhttp无刷新更新DIV
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4658240.html
Copyright © 2011-2022 走看看