Kalça yeni bakkal Half Foods'da bir çalışansınız ve Şükran Günü Noel Paskalya'sından bir gün önce . Mağaza, yiyeceklerini almak için acele eden müşterilerle dolu olacağından, mağazanın herkesi uygun hatlara göndermek için bir trafik yöneticisine ihtiyacı var. Tembel olmak, bunu otomatikleştirmek istersiniz, böylece herkes hindi jambonunu almadan önce şarküteri vurabilirsiniz . Bununla birlikte, sizinle birlikte olan tek şey telefonunuz ve uzun programları kodlamak gerçek bir acıdır - bu yüzden ninja kod golf becerilerinizi bozmanız gerekir .
Meydan okuma
Bakkal iki boyutlu bir ızgara üzerinde görselleştirelim. İşte incelemek için bir örnek ızgara:
e
s
s
s
Y
# # #s #
#s # #s #
#s # #s #
#s #s #s #
#3 #1 #4 #
x x x x
Izgara e
, mağazanın geri kalanına bir "çıkışı" temsil eden bir ile başlar . Her nesil, şebekedeki tüm satış noktaları s
doğrudan aşağıda bir alışverişçi ( ) oluşturur. Alışveriş yapanlar size ulaşana kadar her nesilde aşağı doğru hareket ederler ( Y
). Bir müşteri sizinle aynı satıra ulaştığında, müşteriyi içinde en az alışveriş yapan kullanıcıyla satırın başına ışınlamanız gerekir. Bir alışverişçi, ile sıraya girecekleri zaman hemen çizgiye hareket eder Y
, arasında bir nesil yoktur. Çizgiler #
s ile temsil edilir - s'den sonraki sütun #
bir çizgidir. Alışveriş (bir çıkış ile temsil edilen hattın sonuna inmek x
) ve ardından bir rastgele sayı dönüşmesi arasında 1
ve5
. Her nesil, numaralandırılmış alışveriş yapanları azaltmanız gerekir 1
- bir alışveriş yapan kişiye ulaştığında 0
, check-out yapılır ve mağazadan ayrılırlar.
Böyle bir ızgara girdisi verildiğinde, bakkalın yeni neslini çıktılayın (tüm müşterileri aynı anda aşağı taşıyın, alışveriş yapanları yönlendirin ve yapıldıysa onları terk ettirin).
Numuneler
Giriş:
e
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Çıktı:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Giriş:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Çıktı
e
s
Y
#s # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Giriş:
e
Y
# # # #
# # # #
# # # #
#s # # #
# # # #
x x x x
(Mümkün) Çıktı:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
Giriş:
e
s
Y
# # # #
# # # #
# # # #
# # # #
#3 # # #
x x x x
Çıktı:
e
s
Y
# #s # #
# # # #
# # # #
# # # #
#2 # # #
x x x x
Giriş:
e
Y
# # # #
# # # #
# # # #
# # # #
#1 # # #
x x x x
Çıktı:
e
s
Y
# # # #
# # # #
# # # #
# # # #
# # # #
x x x x
Bu kod golf , bu yüzden en kısa kod kazanır.