Giriş:
Her öğenin bir değer / karakter içerdiği, yukarı veya aşağı sayacağınızı belirten boş olmayan bir liste / vektör . Ben kullanacağız 1
ve -1
ancak ne gibi seçebilir. Yalnızca kullanamazsınız, iki değeri kullanabilir 1,2,3...
ve -1,-2,-3...
yukarı ve aşağı sırasıyla.
Meydan okuma:
1, 2, 4, 8, 16, 32 ... geometrik serilerindeki sayıları kullanacaksınız . Her yukarı veya aşağı saymaya başladığınızda, 1 , sonra 2 , sonra 4 ve benzeri artışlarla sayılırsınız . Değiştirir ve başka bir şekilde saymaya başlarsanız, 1 , sonra 2 , sonra 4 vb. Çıktı, sonunda ulaşacağınız sayı olacaktır.
Örnekler:
Aşağıdaki örnekte, ilk satır girdi, ikinci satır yukarı / aşağı saydığınız sayılar, üçüncü satır kümülatif toplam ve son satır çıktıdır.
Örnek 1:
1 1 1 1 1 1 1 1 1 1
1 2 4 8 16 32 64 128 256 512
1 3 7 15 31 63 127 255 511 1023
1023
Örnek 2:
1 1 1 1 1 1 -1 -1 -1 -1 1 1 1
1 2 4 8 16 32 -1 -2 -4 -8 1 2 4
1 3 7 15 31 63 62 60 56 48 49 51 55
55
Gördüğünüz gibi, ilk 1
veya -1
saydığımız değeri "sıfırlar" ve ardışık diziler 1
veya -1
değerin iki katına çıkması anlamına gelir.
Örnek 3:
-1 -1 1 1 -1 -1 -1
-1 -2 1 2 -1 -2 -4
-1 -3 -2 0 -1 -3 -7
-7
Bazı potansiyel köşe durumlarını açıklamak için bazı ek test senaryoları.
Giriş ilk satırda. Çıkış ikinci sıradadır.
1
1
-------
-1
-1
-------
-1 1 -1 1 -1 1 -1 1 -1 1 -1 1
0
Bu kod golf, böylece her dilde en kısa teslim kazanır.
®ì2Ãx
etmekxì2
için değişebileceğine inanıyorum .