Meydan okuma
Karaktere göre en kısa kod Robot'un yavru kediyi mümkün olan en az adımda bulmasına yardımcı olur.
Golfçüler, bu bir kriz zamanı - Kitten kayboldu ve onu bulmak Robotun işi! Robotun en kısa yoldan Kitten'e ulaşması gerekiyor. Ancak, Robot'un yolunda bir çok engel var ve onun için bir çözüm programlamanıza ihtiyacı var.
Robot onun için bir program yapardı, ama o program kaybedildi ve Robot hiçbir yedeği yoktu :(.
Robotun çalışma zamanı en iyi değil ve Robot'un kaynak kodundan okuması gereken en az karakter, işlem için en az harcadığı zaman ve bu Kitten'in daha hızlı bulunacağı anlamına geliyor!
Robotun hafızasında halihazırda içinde bulunduğu kuzeyde kuzeyi temsil eden, diğeri güneyi temsil eden, doğayı temsil eden ve batıyı temsil eden solun bulunduğu bir harita bulunur. Robot her zaman #
radar haritasında temsil ettiği , duvarlarla çevrili, bilinmeyen bir boyutta dikdörtgen bir odadadır . Robotun girebileceği alanlar bir boşlukla temsil edilir .
Robotun radarı ayrıca odadaki birçok engelleri tarar ve bunları çeşitli ASCII harfleriyle işaretler. Robot bu engellerin üzerinden yürüyemez. Radar, Kitten'i özel ASCII karakteri K
olarak işaretlerken, Robot'un konumu ile işaretlenir R
.
Robotun navigasyon sistemi şu şekilde çalışır: Bir yön ikilisini ve seyahat etmesi gereken hareket birimlerinin sayısını anlayabilir - örneğin, N 3
'3 numaralı hareket biriminin kuzeye gitmesi' anlamına gelir. Robotun radar haritası, bir hareket biriminin bir ASCII karakteri olacağı şekilde yapılmıştır. Robot sadece 4 yöne gidebilir ve çapraz olarak gidemez.
Senin görevin, cesur Kitten koruyucu, Robot'un radar haritasını bir kez okumak ve en az hareket birimi hareket mesafesi ile en az miktarda yol göstermektir. Robotun, Kitten'e en az bir yolun olması garantilidir.
Robot'un Kitten'i bulmasına yardımcı olmayacak, hatalı çalışan bir program yürütmek için zaman kaybetmediğinden emin olmak için, sizi cesur Kitten tasarrufçusu olarak, Robot'un geçmiş programının bu çıktısını Kitten'i bulmak için hiçbir zaman boşa harcamamak için kullanmaya teşvik ediyorum!
Test durumları
Input:
######################
# d 3 Kj #
# #
# R #
# q #
######################
Output:
E 13
N 2
Input:
######################
# d r 3 Kj #
# p p #
# T X #
# q s t #
# #
# R o d W #
# #
# g t U #
# #
######################
Output:
N 1
E 10
N 4
E 2
Input:
######################
# spdfmsdlwe9mw WEK3#
# we hi #
# rdf fsszr#
# sdfg gjkti #
# fc d g i #
# dfg sdd #
# g zfg #
# df df #
# xcf R#
######################
Output:
N 1
W 9
N 5
E 4
N 1
E 4
N 1
Kod sayımı giriş / çıkış (yani tam program) içerir.