Matthew bulmaca çözmeyi sever. Birini çözmeyi başardığında mutlu bir şekilde atlar. Son zamanlarda bunu bir meteor yağmuru düşmek istemediği yerde kraterler ve delikler açtığı için gerçekten yapması gerekiyor .
Size Matthew'un geçmek istediği bir manzara parçası verilir, umarım sonunda sağlıklı gelirsiniz. Toprak metre cinsinden verilir, her sayaç normal toprak veya bir deliktir. Koşarken adım başına bir metreyi geçmeyi başarır; alternatif adım başına dört metreyi geçen atlamadır. Matthew ilk zemin metresinin en solunda başlar ve son metreye ulaşmak ister (bunun ötesinde değil - sadece manzarada verilen son metrenin ötesinde sonsuz bir delik hayal edin).
Giriş
Giriş, standart girişte bir satır sonu ile sonlanan tek bir satır olarak verilir. Çizgi , sırasıyla bir zemin veya delik ölçeri temsil eden tire ( -
) veya alt çizgiden ( _
) oluşur . Bir örnek girdi şunlar olabilir:
----__--___---
Verilen manzara en az bir ve en fazla 30 metre uzunluğundadır ve her zaman toprakla başlar.
Çıktı
Çıktı standart çıktıda verilir ve Matthew'e run ( R
) veya jump ( J
) gibi bir dizi hareket komutunu temsil eder . Yukarıda belirtildiği gibi, bir
koşma komutu, Matthew'un bir metre koşmasına neden olurken, atlama onu tam olarak dört metre ileri taşır. Yukarıda verilen örnek için aşağıdaki hareket mümkündür:
RRJRJRR
yaklaşık olarak aşağıdaki gibi görünür:
Manzara boyunca güvenli bir yol yoksa, tek bir ünlem işareti ( !
) yazdırılmalıdır.
Örnek girişler
--------
----__--___---
-_______
-_-_-_-_-_-
-
Örnek çıktılar
JRRR
RRJRJRR
!
!
(hareket gerekmediğinden son çıktı boştur, ancak sanırım Markdown bunu ayrıştıramıyor)
Not
Yalnızca tek bir olası yol gereklidir, bu nedenle program çıktısının tam olarak örnek çıktılara uyması gerekmez. Varsa bir çözüm verildiği ve her hareket komutu toprağa hareket ettiği ve son metreye en sonunda ulaşıldığı sürece, çıkış geçerlidir.
Standart hatadaki ek çıktı yoksayılır.
Kazanma koşulu
Golf alışıldığı gibi en kısa kod kazanır. Beraberlik durumunda, önceki çözüm kazanır.
Test senaryoları
Özdeş test senaryoları içeren iki test komut dosyası vardır:
- bash ( Ventero sayesinde )
- Güç kalkanı
Her iki durumda da çağırma: <test script> <my program> [arguments]
örn. ./test ruby jumprun.rb
Veya ./test.ps1 ./jumprun.exe
.
Başka bir not
Bu görev 2011-W24 boyunca üniversitemde düzenlenen bir golf yarışmasının bir parçasıydı. Yarışmacılarımızın puanları ve dilleri şöyleydi:
- 104 - Haskell
- 131 - Haskell
- 154 - C
- 170 - C
- 275 - VB.NET
- 286 - Ortak Lisp
Kendi çözümlerimiz
- 92 - Yakut
- 124 - PowerShell
./test.sh perl jump.pl
- ile çalıştırmaya çalışırken bir hata alıyorum./test.sh: line 42: syntax error near unexpected token 'done'