Tantangan
Diberikan papan bagatelle seperti di bawah ini:
| |
| /\ / |
| \ /|
| \ \ /\ \ |
| \ / \ |
|\ / / \ |
| \ / \ |
| \ |
| \ / \ /\ \ |
|\ / / \ /|
| / |
| /\ / / |
| / |
|\ / / / |
| |
----------------------
tugas Anda adalah mengubah daftar 'lemparan' menjadi skor.
Papan akan selalu memiliki 20 karakter (ditambah 2 tepi) lebar, tetapi dengan tinggi variabel. Setiap 'lemparan' adalah angka yang menunjukkan di mana bola jatuh ke papan, mulai dari 0 untuk paling kiri hingga 19 untuk paling kanan. Setiap bola akan jatuh lurus ke bawah kecuali jika bertemu dengan a /atau a \. Menghadapi sebuah /bola menggeser satu kolom ke kiri, dan \menggeser bola satu kolom ke kanan. Setelah digeser, bola terus lurus ke bawah seperti sebelumnya. Skor untuk lemparan bergantung pada di mana bola menyentuh bagian bawah papan.
Skor untuk setiap posisi finishing adalah sebagai berikut:
| |
----------------------
01234567899876543210
dan sama untuk semua papan. Baris pertama dan terakhir akan selalu kosong. Bola dijamin untuk mencapai bagian bawah terlepas dari mana ia dijatuhkan, sehingga tidak akan ada papan tempat ia bisa terjebak oleh \/, \|atau |/kombinasi.
Memasukkan
Masukan akan berada di STDIN, dan akan terdiri dari papan diikuti oleh garis kosong diikuti oleh daftar angka yang dipisahkan spasi yang mewakili lemparan.
Keluaran
Ouput harus menjadi skor total untuk game yang diberikan.
Beberapa contoh
Memasukkan
| |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| |
| |
----------------------
1 4 2 19 0 2 4 3 17 13 16
Keluaran
9
Memasukkan
| |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
----------------------
15 10 3 8 18 19 0 6 7 10
Keluaran
72
Memasukkan
| |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| |
----------------------
1 4 18 17 14 2 0 19 15
Keluaran
18
Skrip uji
Saya telah menggunakan beberapa skrip uji yang ditulis oleh Joey dan Ventero (saya harap mereka tidak keberatan ...) untuk membuat beberapa tes untuk tugas ini: -
Pemakaian: ./test [your program and its arguments]
Ini adalah codegolf - solusi menang tercepat.