7
字->城市天际线
挑战 您的程序或函数将接受来自STDIN或函数参数的单个字符串输入。您可以假定输入将仅包含字母字符(a-zA-Z),空格和句号。输入不区分大小写,因此您应将'a'与对待'A'完全一样。 对于字符串中的每个字符,您将按照以下规范输出建筑物的表示形式。 每个建筑物必须有一个屋顶,在顶行上用下划线指定,然后在第二行上用斜杠,空格和反斜杠指定。 _ / \ 然后,您将拥有多个楼层,与字母编号(a = 1,b = 2,c = 3等)匹配,字母编号由两侧的墙(|)和中间的空格表示。底层(并且只有底层)应具有基础,该基础是墙之间的下划线。像这样... |_| 因此,例如,“ b”看起来像这样 _ / \ | | |_| 现在,我们知道非常高,狭窄的建筑物无法站立,必须在底部变宽,因此没有任何其他支撑,任何建筑物都不能站立超过三层高。因此,每三个级别(不少于一个)都应添加一个“扩展层”。加宽层由位于其下面部分的壁正上方的斜杠和反斜杠组成,并且下面的部分应比上面的部分宽两个空格。多余的层不计入建筑物的高度。 建筑物不应重叠,但建筑物之间不应有任何多余的空间,并且地面始终是平坦的,因此所有建筑物的底脚应在同一水平线上。 例如,“ abcdefga”将如下所示。 _ / \ _ | | _ / \ | | _ / \ | | | | / \ | | | …