zoukankan      html  css  js  c++  java
  • HDU 2074 叠筐

    http://acm.hdu.edu.cn/showproblem.php?pid=2074

    Problem Description
    需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
     
    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 <bits/stdc++.h>
    
    using namespace std;
    
    const int maxn = 1e5+10;
    char zzt[maxn],wbd[maxn];
    char pig[100][100];
    int n;
    int cnt=0;
    
    void A(int x)//第 x 圈,最外第一圈
    {
        //左上角是 a[x][x],右下角是 a[n-x+1][n-x+1]
        char cmz;
        if(x%2==0)
            cmz=zzt[0];
        else
            cmz=wbd[0];
        for(int i=x; i<=n-x+1; i++)
            pig[x][i]=cmz;
        for(int i=x; i<=n-x+1; i++)
            pig[n-x+1][i]=cmz;
        for(int i=x; i<=n-x+1; i++)
            pig[i][x]=cmz;
        for(int i=x; i<=n-x+1; i++)
            pig[i][n-x+1]=cmz;
    }
    int main()
    {
        while(~scanf("%d",&n))
        {
            cnt++;
            if(cnt!=1)
                printf("
    ");
            scanf("%s%s",zzt,wbd);
            if(n==1)
            {
                printf("%c
    ",zzt[0]);
                continue;
            }
            if(((n+1)/2)%2==1)
                swap(zzt[0],wbd[0]);
            for(int i=1; i<=(n+1)/2; i++)
            {
                A(i);
            }
            pig[1][1]=' ';
            pig[1][n]=' ';
            pig[n][1]=' ';
            pig[n][n]=' ';
            for(int i=1; i<=n; i++)
            {
                for(int j=1; j<=n; j++)
                {
                    printf("%c",pig[i][j]);
                }
                printf("
    ");
            }
        }
        return 0;
    }
    

      

     
  • 相关阅读:
    项目管理【38】 | 项目人力资源管理-管理项目团队
    转:模型蒸馏,教师学生模型
    转:pytorch 中forward 的用法与解释说明
    KNN, sklearn
    转:matplotlib, 去除plt.savefig()的白边
    转:Latex 表格 合并行/列
    转:LaTeX xcolor颜色介绍
    余弦相似性,cos距离函数
    python confusion matrix 混淆矩阵
    转:Tmux 使用教程
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/9246097.html
Copyright © 2011-2022 走看看