İlk satırın boşluklar ve bir nokta ( .
"top") ve ardından boşluklar, eğik çizgiler ( /
) ve ters eğik çizgiler ( ) içeren satırlar \
verildiğinde, başlangıç konumundan düştükten sonra topun hangi sütuna ineceğini belirleyin . Her biri /
1 sütun sola \
taşır ve her biri 1 sütun sağa taşır.
Örnek giriş
.
/ \ \
/ /
\ \/ \
\ /\
\ /\ \
\ /
Örnek çıktı
Top, 5. sütunda başlar, /
3. hatta vurur , ardından üçün \
5 ila 7 numaralı satırlarda son konumu için:
7
Sütunların, çoğunlukla metin düzenleyici kurallarına uyum için 1 dizinli olduğunu unutmayın.
Edge kutuları
Top /
ilk sütunda bir a vurursa, sonsuz olarak 0 sütunu 0'a yapışır. Programınız bunu yazdırarak doğru şekilde işlemelidir 0
.
Top bir \/
desenin her iki tarafına çarparsa , sonuç tanımsız olur. Programınızın çıktı olmadan sonlandırılmasına, sonsuz döngüye girmesine veya bir hata mesajı yazdırmasına (çözümüm yazdırılır -1
) izin verilir, ancak geçerli çıktı olarak algılanabilecek hiçbir şeyi yazdırmamalıdır.
Top sol eğik çizgiyi bir \\
desende vurursa, sağ eğik çizginin hemen altına, sağına değil. Başlangıçta düşündüğüm çözüm, bunu yanlış anlamaya meyilliydi, bu yüzden bu yolda gitmeyin!
Her satırda veya .
sondan sonra /
veya \
her satırda boşluk olabilir veya olmayabilir . Programınız bu tür dolguların mevcut olmasına güvenmemelidir. Benzer bir notta, ilk satırı takip eden satırlar olabilir veya olmayabilir.
İlk satırın sıfır veya daha fazla boşluğa ve tam olarak bir boşluğa sahip olacağını varsayabilirsiniz .
. Sonraki satırlarda varsa sıfır veya daha fazla boşluk ve sıfır veya daha fazla eğik çizgi olacaktır.
Uygulama ayrıntıları
Programınız uygun olan bir dosyadan (komut satırı bağımsız değişkeni olarak belirtilir) veya standart girdiden okuyabilir.
Programınızın standart çıktıya tek bir sayı vermesi gerekir. (Evet, sondaki yeni satır iyi. Evet, sayının birden fazla rakamı olabilir.)
Test senaryoları
Giriş:
.
Çıktı:
1
Buradaki girişin tam olarak bir bayt olduğunu unutmayın. Bu, halletmeniz gereken en küçük durum.
Giriş:
. \ \ \ \
Çıktı:
6
Bu eğik çizgilerden sonra boşluk olmadığını unutmayın.
Giriş:
. / /\\ / \ //\ \/// // \\/ \/\ /\/
Çıktı:
0
Giriş:
. / / / \\\ /\\ / \
Çıktı:
1
Giriş:
. \ / / \
Çıktı:
4
Giriş:
. \ \/\/\/
Çıktı:
(anything but a nonnegative number)
Kapanış konuşması
Bu soru (yerçekimi tabanlı) bilardo topu tipi bir bilgisayarı simüle etmeye benzer , ancak çok daha basittir, umarım daha fazla ilgi kazanacaktır.
Python'da 169 karakterlik bir çözümüm var. Eminim buradaki yetenekli golfçüler bu rekoru parçalara ayırabilirler. : ^)
Bu kod golf , bu yüzden ay sonunda karakterlerde en kısa cevap kabul edilecektir!