每日一题 叠筐

模拟

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 <iostream>

using namespace std;
//malloc是变长
int main() {
    int n;
    char inner;
    char outer;
    bool flag=true;//第一个结果
    while(scanf("%d %c %c",&n,&inner,&outer)!=EOF)//注意%c会读取空格,得加上空格以使忽略空白字符
    {
        //处理空行显示
        if(flag==true){
            flag=false;
        } else{
            printf("\n");
        }
        char pat[80][80]={0};
        //初始化,边缘框:顶点,边长
        int length=1;//初始
        int cur=inner;//更换图形,inner,outer之间变
        int x,y;//顶点坐标
        for(length=1,x=n/2,y=n/2;length<=n;length=length+2,--x,--y){
            for(int i=x,j=y;i<x+length;i++){
                //j不变,i变
                pat[i][j]=cur;
            }
            for(int i=x,j=y;j<y+length;j++){
                //i不变,j变
                pat[i][j]=cur;
            }
            for(int i=x+length-1,j=y;j<y+length;j++){
                pat[i][j]=cur;
            }
            for(int i=x,j=y+length-1;i<x+length;i++){
                pat[i][j]=cur;
            }
            //更换图形
            if(cur==inner){
                cur=outer;
            }else{
                cur=inner;
            }
        }
        //磨掉四个角
        if(n!=1){
            pat[0][0]=' ';
            pat[0][n-1]=' ';
            pat[n-1][0]=' ';
            pat[n-1][n-1]=' ';
        }
        for(int i=0;i<n;i++){
            printf("%s\n",pat[i]);
        }
    }
    return 0;
}

相关推荐

  1. 每日

    2024-01-22 00:24:01       33 阅读
  2. 每日】01

    2024-01-22 00:24:01       5 阅读
  3. leetcode每日4

    2024-01-22 00:24:01       35 阅读
  4. leetcode每日37

    2024-01-22 00:24:01       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-22 00:24:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-22 00:24:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-22 00:24:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-22 00:24:01       18 阅读

热门阅读

  1. 李沐深度学习-激活函数/多层感知机文档

    2024-01-22 00:24:01       39 阅读
  2. RNN与NLP

    2024-01-22 00:24:01       39 阅读
  3. Centos7 安装Jenkins2.440

    2024-01-22 00:24:01       32 阅读
  4. SpringBoot默认日志输出格式

    2024-01-22 00:24:01       35 阅读
  5. Elasticsearch 数组值的存储详细介绍

    2024-01-22 00:24:01       40 阅读
  6. PHP学习笔记1

    2024-01-22 00:24:01       26 阅读
  7. STL-deque

    2024-01-22 00:24:01       36 阅读
  8. 第二章 使用 SQL Search

    2024-01-22 00:24:01       32 阅读