洛谷 P1538 迎春舞会之数字舞蹈

  

题目背景

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

题目描述

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

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

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

输入输出格式

输入格式:

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

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

输出格式:

扫描二维码关注公众号,回复: 2268791 查看本文章

按题目要求输出。

输入输出样例

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

说明

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

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

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

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

码农题,每个数字最多由7个杠组成,开一个数组,将0~9的7个信息存储。

之后就是按照大小循环一遍(又是模拟)。

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 using namespace std;
 5 int k,l;
 6 char s[305];
 7 char ch[10][7]={{'-','|','|',' ','|','|','-'},{' ',' ','|',' ',' ','|',' '},{'-',' ','|','-','|',' ','-'},{'-',' ','|','-',' ','|','-'},{' ','|','|','-',' ','|',' '},{'-','|',' ','-',' ','|','-'},{'-','|',' ','-','|','|','-'},{'-',' ','|',' ',' ','|',' '},{'-','|','|','-','|','|','-'},{'-','|','|','-',' ','|','-'}};
 8 int main()
 9 {
10     scanf("%d%s",&k,&s);
11     l=strlen(s);
12     for(int i=0;i<=l-1;i++)
13     {
14         printf(" ");
15         for(int j=1;j<=k;j++)
16             printf("%c",ch[s[i]-'0'][0]);
17         printf(" ");
18         if(i!=l-1)
19             printf(" ");
20         else
21             printf("\n");
22     }
23     for(int i=1;i<=k;i++)
24         for(int j=0;j<l;j++)
25         {
26             printf("%c",ch[s[j]-'0'][1]);
27             for(int g=1;g<=k;g++)
28                 printf(" ");
29             printf("%c",ch[s[j]-'0'][2]);
30             if(j!=l-1)
31                 printf(" ");
32             else
33                 printf("\n");
34         }
35     for(int i=0;i<=l-1;i++)
36     {
37         printf(" ");
38         for(int j=1;j<=k;j++)
39             printf("%c",ch[s[i]-'0'][3]);
40         printf(" ");
41         if(i!=l-1)
42             printf(" ");
43         else
44             printf("\n");
45     }
46     for(int i=1;i<=k;i++)
47         for(int j=0;j<l;j++)
48         {
49             printf("%c",ch[s[j]-'0'][4]);
50             for(int g=1;g<=k;g++)
51                 printf(" ");
52             printf("%c",ch[s[j]-'0'][5]);
53             if(j!=l-1)
54                 printf(" ");
55             else
56                 printf("\n");
57         }
58     for(int i=0;i<=l-1;i++)
59     {
60         printf(" ");
61         for(int j=1;j<=k;j++)
62             printf("%c",ch[s[i]-'0'][6]);
63         printf(" ");
64         if(i!=l-1)
65             printf(" ");
66         else
67             printf("\n");
68     }
69     return 0;
70 }

猜你喜欢

转载自www.cnblogs.com/rlt1296/p/9342387.html