Yalnızca karakterleri içeren bir dizgede geçen bir program veya işlev yazın ^
ve v
(başka karakter olmayacağını varsayabilirsiniz). Soldan sağa okuma, bu dizenin bir Stack Exchange sorusunu veya cevabını ilk kez görüntülerken yapılan tek bir kullanıcının fare tıklaması sırasını temsil eder .
Her ^
biri, yükseltme düğmesine v
bir tıklamayı ve her biri, indirme düğmesine bir tıklamayı temsil eder . (Çalışma örnekleri için biraz sola bakın.)
Hiçbir oylama sınırlamasının geçerli olmadığını ve tüm tıklamaların doğru şekilde kaydedildiğini varsayalım .
Yazdır veya geri gönder:
1
veya+1
gönderinin sona erdirilmesi sona ererse.0
Gönderi sona ererse oy verilmez. (-0
ve+0
geçerli değil)-1
Gönderi indirilmezse sona erer.
Gönderiler kullanıcıdan sıfır net oy ile başlar ve düğmeler net oylarını aşağıdaki gibi değiştirir:
Net Votes Before Button Pressed Net Votes After
1 ^ 0
1 v -1
0 ^ 1
0 v -1
-1 ^ 1
-1 v 0
Bayt cinsinden en kısa kod kazanır.
Test durumları:
[empty string] -> 0
^^ -> 0
^v -> -1
^ -> 1
v -> -1
v^ -> 1
vv -> 0
^^^ -> 1
vvv -> -1
^^^^ -> 0
vvvv -> 0
^^^^^ -> 1
vvvvv -> -1
^^^^^^ -> 0
vvvvvv -> 0
^^v -> -1
^v^ -> 1
^vv -> 0
vv^ -> 1
v^v -> -1
v^^ -> 0
^vvv^^vv^vv^v^ -> 1
^vvv^^vv^vv^v^^ -> 0
^vvv^^vv^vv^v^^^ -> 1
^vvv^^vv^vv^v^^v -> -1
^vvv^^vv^vv^v^^vv -> 0
^vvv^^vv^vv^v^^vvv -> -1
^vvvvvvvvvvvv -> 0
^^vvvvvvvvvvvv -> 0
^^^vvvvvvvvvvvv -> 0
vvv^^^^^^^^^^^^ -> 0
vv^^^^^^^^^^^^ -> 0
v^^^^^^^^^^^^ -> 0
^
karakter -1, +1 veya +2 puan değişikliğine neden olabilir mi? Nerede yoğun muyum? Neler oluyor?