Tulis program atau fungsi yang hanya menggunakan karakter yang berisi string ^
dan v
(Anda dapat mengasumsikan tidak akan ada karakter lain). Baca dari kiri ke kanan string ini mewakili urutan klik mouse yang dilakukan pengguna tunggal saat melihat pertanyaan atau jawaban Stack Exchange untuk pertama kalinya.
Setiap ^
mewakili klik tombol upvote dan setiap v
mewakili klik tombol downvote . (Untuk contoh yang berfungsi terlihat sedikit ke kiri.)
Asumsikan bahwa tidak ada batasan suara yang berlaku sehingga semua klik terdaftar dengan benar.
Cetak atau kembali:
1
atau+1
jika postingan akhirnya diunggulkan.0
jika pos akhirnya tidak terpilih. (-0
dan+0
tidak valid)-1
jika postingan akhirnya downvoted.
Posting dimulai dengan nol suara bersih dari pengguna dan tombol mengubah suara bersih sebagai berikut:
Net Votes Before Button Pressed Net Votes After
1 ^ 0
1 v -1
0 ^ 1
0 v -1
-1 ^ 1
-1 v 0
Kode terpendek dalam byte menang.
Kasus uji:
[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 dapat menyebabkan perubahan skor -1, +1 atau +2? Apakah saya padat di mana? Apa yang sedang terjadi?