三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式:
- 对于第
n
th行代码,其上必须完全2n-1
有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 - 每行
.
的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l
定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1
例如,左侧的程序有效,而右侧的程序无效:
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
当布置在有效结构中时,该名称变得显而易见。
任务
您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。
I / O规格:
- 输入将仅包含范围内的字符
0x20 - 0x7e
- 输入的长度始终是一个平方数,因此可以很好地填充。
- 您必须将点用于输出填充,而不要使用其他东西。
您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出!
测试用例
input
----
output
g
----
g
PcSa
----
.P.
cSa
DfJ0vCq7G
----
..D..
.fJ0.
vCq7G
7xsB8a1Oqw5fhHX0
----
...7...
..xsB..
.8a1Oq.
w5fhHX0
QNYATbkX2sKZ6IuOmofwhgaef
----
....Q....
...NYA...
..TbkX2..
.sKZ6IuO.
mofwhgaef
ABCDEF"$%& G8"F@
----
...A...
..BCD..
.EF"$%.
& G8"F@
ab.c
----
.a.
b.c
对于那些了解三角关系的人,您会从最后一个测试用例中注意到,不必处理字符串