• P1538 迎春舞会之数字舞蹈


    题目背景

    HNSDFZ的同学们为了庆祝春节,准备排练一场舞会。

    题目描述

    在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列。

    为了配合每年的倒计时,同学们决定排出——“数字舞蹈”。顾名思义就是所有人一起排成若干个数字 -___-||||  更为创新的是,每个人都是趴在地上,保证横竖。

    现在给出数字及其要求摆出的大小,请你编程,模拟同学们的优美姿态。

    输入输出格式

    输入格式:

    第一行为k。k表示要摆出数字的大小。

    第二行为全部由数字组成的字符串,即要摆出的几个数字。

    输出格式:

    按题目要求输出。

    输入输出样例

    输入样例#1:
    2
    1234567890
    
    输出样例#1:
          --   --        --   --   --   --   --   -- 
       |    |    | |  | |    |       | |  | |  | |  |
       |    |    | |  | |    |       | |  | |  | |  |
          --   --   --   --   --        --   --      
       | |       |    |    | |  |    | |  |    | |  |
       | |       |    |    | |  |    | |  |    | |  |
          --   --        --   --        --   --   -- 
    

    说明

    每个数字之前有1个空格,所有数字全部对齐。

    k<=30,s的长度不超过255

    建议大家直接输出,不要保存。

    如果对于大小和k有疑问,请自行理解。

    找规律。。。

    模拟。。。、

      1 #include<iostream>
      2 #include<cstdio>
      3 #include<cstring>
      4 #include<cmath>
      5 using namespace std;
      6 char a[438];
      7 void read(int & n)
      8 {
      9     char c='+';int x=0;
     10     while(c<'0'||c>'9')
     11     c=getchar();
     12     while(c>='0'&&c<='9')
     13     {
     14         x=x*10+(c-48);
     15         c=getchar();
     16     }
     17     n=x;
     18 }
     19 void kong()
     20 {printf(" ");}
     21 void heng()
     22 {printf("-");}
     23 void shu()
     24 {printf("|");}
     25 int main()
     26 {
     27     int n;
     28     read(n);
     29     scanf("%s",a);
     30     int la=strlen(a);
     31     for(int i=0;i<strlen(a);i++)
     32     {
     33         kong();
     34         if(a[i]=='1'||a[i]=='4')
     35         {
     36             for(int k=1;k<=n;k++)
     37             kong();
     38         }
     39         else
     40         {
     41             for(int k=1;k<=n;k++)
     42             heng();
     43         }
     44         kong();
     45         kong();
     46     }
     47     printf("
    ");
     48     for(int l=1;l<=n;l++)
     49     {
     50         for(int i=0;i<la;i++)
     51         {
     52             if(a[i]=='1'||a[i]=='2'||a[i]=='3'||a[i]=='7')
     53             {
     54                 for(int k=1;k<=n+1;k++)
     55                 kong();
     56                 shu();
     57             }
     58                 
     59             else if(a[i]=='5'||a[i]=='6')
     60             {
     61                 shu();
     62                 for(int k=1;k<=n+1;k++)
     63                 kong();
     64             }
     65             else
     66             {
     67                 shu();
     68                 for(int k=1;k<=n;k++)
     69                 kong();
     70                 shu();
     71             }
     72             kong();
     73         }
     74         printf("
    ");
     75     }
     76     for(int i=0;i<strlen(a);i++)
     77     {
     78         kong();
     79         if(a[i]=='1'||a[i]=='7'||a[i]=='0')
     80         {
     81             for(int k=1;k<=n;k++)
     82             kong();
     83         }
     84         else
     85         {
     86             for(int k=1;k<=n;k++)
     87             heng();
     88         }
     89         kong();
     90         kong();
     91     }
     92     printf("
    ");
     93     for(int l=1;l<=n;l++)
     94     {
     95         for(int i=0;i<la;i++)
     96         {
     97             if(a[i]=='1'||a[i]=='3'||a[i]=='4'||a[i]=='5'||a[i]=='7'||a[i]=='9')
     98             {
     99                 for(int k=1;k<=n+1;k++)
    100                 kong();
    101                 shu();
    102             }
    103                 
    104             else if(a[i]=='6'||a[i]=='8'||a[i]=='0')
    105             {
    106                 
    107                 shu();
    108                 for(int k=1;k<=n;k++)
    109                 kong();
    110                 shu();
    111             }
    112             else
    113             {
    114                 shu();
    115                 for(int k=1;k<=n+1;k++)
    116                 kong();
    117             }
    118             kong();
    119         }
    120         printf("
    ");
    121     }
    122     for(int i=0;i<strlen(a);i++)
    123     {
    124         kong();
    125         if(a[i]=='1'||a[i]=='7'||a[i]=='4')
    126         {
    127             for(int k=1;k<=n;k++)
    128             kong();
    129         }
    130         else
    131         {
    132             for(int k=1;k<=n;k++)
    133             heng();
    134         }
    135         kong();
    136         kong();
    137     }
    138     return 0;
    139 }
  • 相关阅读:
    入坑C++之vs 新建C++项目
    入坑C++
    Solidity属性和方法的访问权限
    Solidity构造函数和析构函数
    网络直播应成为价值出口(人民时评)
    CODEVS 1203 判断浮点数是否相等
    CODEVS 1203 判断浮点数是否相等
    如何快速高效简洁的打开软件 干净利索的windows快捷程序启动器
    如何快速高效简洁的打开软件 干净利索的windows快捷程序启动器
    2018年开源状况:代码贡献超310亿行,而漏洞超16000个
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/7053112.html
Copyright © 2020-2023  润新知