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("\n");
 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("\n");
 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("\n");
 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("\n");
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 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏怀英的自我修炼

怀英漫谈2-JS语法初涉

今天碰了一下JS的语法,想与你聊聊这个。这篇文章适合前端设计师,不过在文末,我也为你准备了一些感悟,有兴趣的不妨跳到最后一看。 总体来看,JS的语法和Java的...

386100
来自专栏小樱的经验随笔

洛谷 P1055 ISBN号码【字符串+模拟】

P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-...

37660
来自专栏窗户

scheme实现最基本的自然数下的运算

  教一个基本没编过什么程序的朋友scheme,为什么教scheme呢?因为他想学,因为一直听我鼓吹,而他觉得他自己多少有C语言一点基础,而又因为我觉得函数式才...

9130
来自专栏我杨某人的青春满是悔恨

函数式思维

自从大四看了三章《SICP》之后我就自诩为一个函数式编程爱好者,之前也在公司分享过一个 Haskell 的 Topic,效果非常糟糕,讲到后来已经没剩几个人了,...

11510
来自专栏Aloys的开发之路

基于对象和面向对象的区别

基本上每个程序员都听过面向对象(Object-oriented)和基于对象(Object-based)这两个概念。其实这两个概念并没有很明显的界线,不过现在业界...

20590
来自专栏落影的专栏

程序员进阶之算法练习(二十三)

前言 趁着8月还没结束,更新一篇算法练习。 正文 1. Alyona and mex 题目链接 题目大意: mex()定义:mex(arr)是 数组arr的...

42870
来自专栏专知

【LeetCode 14】关关的刷题日记44 – Longest Common Prefix

关关的刷题日记44 – Leetcode 14. Longest Common Prefix 题目 Write a function to find the l...

34360
来自专栏专知

【LeetCode 20】关关的刷题日记45 – Valid Parenthese

关关的刷题日记45 – Leetcode 20. Valid Parenthese 题目 Given a string containing just the ...

35570
来自专栏斑斓

编码 | 并非Null Object这么简单

在大多数程序语言中,我们都需要与Null打交道,并且纠缠于对它的检查中。一不小心让它给溜出来,就可能像打开潘多拉的盒子一般,给程序世界带来灾难。说起来,在我们人...

35070
来自专栏专知

【Code】关关的刷题日记21——Leetcode 485. Max Consecutive Ones

关小刷刷题 21——Leetcode 485. Max Consecutive Ones 题目 Given a binary array, find the m...

303100

扫码关注云+社区

领取腾讯云代金券