長さが正の三角形の数字(1、3、6、10、15 ...)である文字列は、スペースと改行を追加する(および同じ読み上げ順序で保持する)ことにより、「正三角形の三角形」に配置できます。
たとえば、長さ10の文字列ABCDEFGHIJ
は次のようになります。
A
B C
D E F
G H I J
それが唯一の文字が含まれています除き、そのようなA列を取り込みプログラムや関数を記述0
して1
。(入力が有効であると想定できます。)
結果の「正三角形の三角形」の場合、表示される対称性のタイプを示す4つの数値のいずれかを出力(印刷またはリターン)します。
2
三角形に左右対称がある場合に出力します。つまり、任意の1つのコーナーから反対側の中点への対称線を持ちます。例:
0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1
3
三角形に回転対称がある場合に出力します。つまり、視覚的な変化なしに120°回転させることができます。例:
0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1
6
三角形に左右対称と回転対称の両方がある場合に出力します。つまり、2
との両方を出力するための条件に一致します3
。例:
0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0
1
三角形が左右対称でも回転対称でもない場合に出力します。例:
1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1
バイト単位の最短コードが優先されます。Tiebreakerは以前の回答です。
別に任意末尾の改行から、入力文字列は、空間/改行パディング又は構造を有していないかもしれない-それは普通であるべきである0
のと1
の。
必要に応じて、およびの代わりに任意の2つの印刷可能なASCII文字を使用できます。0
1
テストケース
例から直接取られた。
011 -> 2
101 -> 2
001010 -> 2
1111010111 -> 2
0100110100 -> 3
0011000010 -> 3
101111111010111 -> 3
101001100010000100111 -> 3
0 -> 6
1 -> 6
000 -> 6
100101 -> 6
0000100000 -> 6
110000 -> 1
001101 -> 1
1101111111 -> 1
111111000111111 -> 1
入力を120°回転させると、もちろん同じ出力になります。