编写两个三角形(即金字塔)形状的程序。
第一个应该是一个向上的文字三角形,其最小底边宽度为三个字符。所以它的结构像
X
XXX
要么
X
XXX
XXXXX
要么
X
XXX
XXXXX
XXXXXXX
或更大。每个都X
将替换为实际代码中的字符,除了行终止符外,其他任何字符都可以(因此X
可以为空格)。X
必须将所有的都替换掉,并且需要保留有助于形成三角形的空格和换行符。
第二个程序必须具有与第一个程序相同的大小和形状,除了三角形将指向下方。
因此,如果您的第一个程序看起来像
X
XXX
XXXXX
然后你的第二个程序看起来像
yyyyy
yyy
y
每个y
字符都是您需要在实际代码中填充的字符(可能与您的X
代码不同)。空格和换行符在这里也必须保持不变。
您的任务是编写这些程序,以使它们各自输出(以stdout或最接近的替代音)甲壳虫乐队独特歌曲的标题,而不输入任何内容。这篇Wikipedia文章将作为我们披头士乐队的正式歌曲清单。输出应该是所列标题之一,例如I Want You (She's So Heavy)
。
但是,即使有奇怪的三角形程序要求,这也很容易。因此,我们将从前两个程序组成另一个程序,该程序必须输出另一个歌曲名称。
通过组合两个三角形程序中每个程序的三个副本,我们可以创建形状像六边形的第三个程序。
如果您的第一个程序的基本宽度为3,则它将如下所示:
XyyyX
XXXyXXX
yyyXyyy
yXXXy
如果基本宽度为5,则它将如下所示:
XyyyyyX
XXXyyyXXX
XXXXXyXXXXX
yyyyyXyyyyy
yyyXXXyyy
yXXXXXy
该程序(与其他空格和换行符一起运行时)必须输出另一个甲壳虫乐队的歌曲标题,就像前两个程序一样。也:
- 您的三个程序必须输出不同的歌曲标题。
- 歌曲标题长度不得超过8个字符。
- 您只能选择之一
Revolution
,Revolution 1
并且Revolution 9
因为标题是如此相似。 - 您必须选择三首喜欢的甲壳虫歌曲。(好吧,尝试。)
请注意,需要实际程序。不允许使用功能。也不允许在任何程序中读取自己的源代码。
例
如果您的第一个程序是
A
AAA
AAAAA
它可以输出Across the Universe
。
然后你的第二个程序
bbbbb
bbb
b
可以输出Revolution
。
然后合并到六角程序中
AbbbbbA
AAAbbbAAA
AAAAAbAAAAA
bbbbbAbbbbb
bbbAAAbbb
bAAAAAb
输出可能是Get Back
。
计分
具有最小三角形底宽的提交将获胜。在平局的情况下,其三首歌曲的总长度最大的作品将获胜。