弦のねじれ方
ツイストアルゴリズムは非常に単純です。各列はそのインデックスによって下にシフトされます(列0は0に移動し、列1は1に移動します...)。列シフトは上に折り返されます。それはこのように動作します:
aaaa
bbbb
cccc
になる:
a
ba
cba
----
cba
cb
c
行の下のすべてが上に折り返されます。実際の例:
Original:
\\\\\\\\\\\\
............
............
............
Twisted:
\...\...\...
.\...\...\..
..\...\...\.
...\...\...\
入力
入力は、文字列の配列または複数行の文字列です。すべての行の長さは同じです。
出力
ツイスト文字列、std-outへの複数行出力(または最も近い代替)。
例:
(>
入力を示し、末尾のスペースが重要です)
>Hello, world!
>I am another
>string to be
>twisted!
Hwrmoe oo br!
Ieii ,dttr e
s lsna !ohl
ttaltgnw ed
>\\\\\\\\\\\\
>............
>............
>............
\...\...\...
.\...\...\..
..\...\...\.
...\...\...\
>abcdefg
>.......
a.c.e.g
.b.d.f.
>abcdefghij
>..........
>..........
a..d..g..j
.b..e..h..
..c..f..i.
>\\\\.....././
>...../.......
>........././.
>..../.^\\....
\.........../
.\....^..../.
..\../.\../..
...\/...\/...
>cdeab
>deabc
>eabcd
>abcde
cbbbb
ddccc
eeedd
aaaae
>aeimquy37
>bfjnrvz48
>cgkosw159
>dhlptx260
ahknqx147
beloru258
cfipsvy69
dgjmtwz30
>abcdefghi
>jklmnopqr
>stuvwxyz1
>234567890
a3ume7yqi
jb4vnf8zr
skc5wog91
2tld6xph0