Meydan okuma
Aşağıdaki gibi bir bagatelle tahtası verildi:
| |
| /\ / |
| \ /|
| \ \ /\ \ |
| \ / \ |
|\ / / \ |
| \ / \ |
| \ |
| \ / \ /\ \ |
|\ / / \ /|
| / |
| /\ / / |
| / |
|\ / / / |
| |
----------------------
Senin görevin 'atar' listesini bir puana dönüştürmek.
Kart her zaman 20 karakter (artı 2 kenar) genişliğinde, ancak değişken yükseklikte olacaktır. Her 'atış', topun tahtaya nereye düştüğünü gösteren bir sayıdır ve en sol için 0'dan en sağ için 19'a kadar başlar. Her top, a /veya a ile karşılaşmadıkça düz olarak düşecektir \. Vites ile karşılaşmak /, topu bir sütun sola \kaydırır ve topu bir sütun sağa kaydırır. Vites değiştirildikten sonra top önceki gibi düz devam eder. Atış puanı, topun tahtanın tabanına vurduğu yere bağlıdır.
Her bitirme pozisyonu için puanlar aşağıdaki gibidir:
| |
----------------------
01234567899876543210
ve tüm kartlar için aynıdır. İlk ve son satırlar her zaman boş olacaktır. Top olursa olsun düştü nerede alt ulaşmak için garanti edilir, bu nedenle bu tarafından tuzağa alabilirsiniz panoları olacak \/, \|ya da |/kombinasyonları.
Giriş
Girdi STDIN'de olacak ve panonun ardından boş bir satır ve ardından atışları temsil eden boşlukla ayrılmış bir sayı listesinden oluşacaktır.
Çıktı
Çıkış, verilen oyunun toplam puanı olmalıdır.
Birkaç örnek
Giriş
| |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| |
| |
----------------------
1 4 2 19 0 2 4 3 17 13 16
Çıktı
9
Giriş
| |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
----------------------
15 10 3 8 18 19 0 6 7 10
Çıktı
72
Giriş
| |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| |
----------------------
1 4 18 17 14 2 0 19 15
Çıktı
18
Test komut dosyaları
Bu görev için bazı testler oluşturmak için Joey ve Ventero tarafından yazılan bazı test komut dosyaları kullandım (umarım umursamazlar ...): -
Kullanımı: ./test [your program and its arguments]
Bu kodgolf - en kısa çözüm kazanır.