Uzunluğu pozitif bir üçgen sayı (1, 3, 6, 10, 15 ...) olan bir dize, bazı boşluklar ve satırlar ekleyerek (ve aynı okuma düzeninde tutularak) "eşkenar metin üçgeni" olarak düzenlenebilir.
Örneğin, uzunluk 10 dizesi şöyle ABCDEFGHIJolur:
A
B C
D E F
G H I J
Yalnızca karakterler içeriyor olacaktır hariç böyle bir dizede götüren bir program veya fonksiyon yazın 0ve 1. (Girişin geçerli olduğunu varsayabilirsiniz.)
Ortaya çıkan "eşkenar metin üçgeni" için, sergilenen simetri türünü gösteren dört sayıdan birini çıktılayın (yazdırın veya döndürün):
2Üçgenin bilateral simetrisi varsa çıktı . yani herhangi bir köşeden karşı tarafın orta noktasına kadar bir simetri çizgisine sahiptir.Örnekler:
0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 13Üçgenin dönme simetrisi varsa çıktı . yani görsel değişiklik olmadan 120 ° döndürülebilir.Örnekler:
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Çıktı
6üçgen varsa hem ikili ve dönme simetrisi. yani her iki çıkışı koşullarını maçları2ve3.Örnekler:
0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 01Üçgenin iki taraflı veya dönme simetrisi yoksa çıktı .Örnekler:
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
Bayt cinsinden en kısa kod kazanır. Tiebreaker daha önce cevap.
İsteğe bağlı bir son satırsonu dışında, girdi dizesi boşluk / satırsonu dolgusu veya yapısına sahip olmayabilir - düz 0ve 1s olmalıdır.
İstenirse herhangi iki farklı kullanabilir yazdırılabilir ASCII yerine karakterleri 0ve 1.
Test Durumları
Doğrudan örneklerden alınmıştır.
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
Herhangi bir girişin 120 ° döndürülmesi elbette aynı çıkışla sonuçlanacaktır.