题目背景
HNSDFZ的同学们为了庆祝春节,准备排练一场舞会。
题目描述
在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列。
为了配合每年的倒计时,同学们决定排出——“数字舞蹈”。顾名思义就是所有人一起排成若干个数字 -___-|||| 更为创新的是,每个人都是趴在地上,保证横竖。
现在给出数字及其要求摆出的大小,请你编程,模拟同学们的优美姿态。
输入格式:
第一行为k。k表示要摆出数字的大小。
第二行为全部由数字组成的字符串,即要摆出的几个数字。
输出格式:
按题目要求输出。
题解:
-- -- -- -- -- -- -- --
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
-- -- -- -- -- -- --
| | | | | | | | | | | | |
| | | | | | | | | | | | |
-- -- -- -- -- -- --
仔细观察,这十个数字由五个部分组成:
1:‘0-0’
2:‘| ’
3:‘ |’
4:‘| |’
5:‘ ’
然后第一、三、五行由1和5组成,第二、四行有2、3、4组成。然后就自己啪啪啪把。
代码:
var
k,l,i,j:longint;
ss:ansistring;
s:string;
function try1:string;
begin
try1:=' ';
for j:=1 to k do
try1:=try1+'-';
try1:=try1+' ';
end;
function try2:string;
begin
try2:='|';
for j:=1 to k+2 do
try2:=try2+' ';
end;
function try3:string;
begin
try3:='';
for j:=1 to k+1 do
try3:=try3+' ';
try3:=try3+'| ';
end;
function try4:string;
begin
try4:='|';
for j:=1 to k do
try4:=try4+' ';
try4:=try4+'| ';
end;
function try5:string;
begin
try5:='';
for j:=1 to k+3 do
try5:=try5+' ';
end;
begin
readln(k);
readln(s);
l:=length(s);
for i:=1 to l do
case s[i] of
'0','2','3','5','6','7','8','9':write(try1);
'1','4':write(try5);
end;
writeln; ss:='';
for i:=1 to l do
case s[i] of
'5','6':ss:=ss+try2;
'1','2','3','7':ss:=ss+try3;
'0','4','8','9':ss:=ss+try4;
end;
for i:=1 to k do
writeln(ss);
for i:=1 to l do
case s[i] of
'2','3','4','5','6','8','9':write(try1);
'0','1','7':write(try5);
end;
writeln; ss:='';
for i:=1 to l do
case s[i] of
'2':ss:=ss+try2;
'1','3','4','5','7','9':ss:=ss+try3;
'0','6','8':ss:=ss+try4;
end;
for i:=1 to k do
writeln(ss);
for i:=1 to l do
case s[i] of
'0','2','3','5','6','8','9':write(try1);
'1','4','7':write(try5);
end;
end.