Bir oyuncunun sırasının başlangıcında bir Tekel oyununun mevcut durumunu temsil eden bir dize verildiğinde , gerekli tüm verileri en küçük çıktıya sıkıştırın. Cevaplar çıktı boyutuna ve kaynak boyutuna göre değerlendirilecektir .
Not: Birçok bölgesel varyasyon vardır, ancak bu yayındaki mülk adlarına vb. Yapılan tüm referanslar bu panoya dayanmaktadır .
Giriş:
Giriş, ;
ayrı bir dize olarak verilir . Bu dize, stdin, argümanlar vb. Gibi seçtiğiniz dilde geleneksel olan her şekilde programa verilir.
Biçimlendirilmemiş girdi şöyle görünür:
numPlayers (1 to 8)
whose turn (0 to numPlayers-1)
for each player:
bankrupt? (true/false)
money (0 to 2^16-1)
get-out-of-jail-free cards (0 to 2)
position (0 to 39)
jail turns (-1 to 2)
for 28 properties:
owner (-1 to numPlayers-1)
mortgaged? (true/false)
improvement level (0 to 5)
for 16 chance cards in deck:
card index (-1 to 15)
for 16 community chest cards in deck:
card index (-1 to 15)
Biçimlendirilmiş bir girdi örneği :
3;1;false;1546;0;14;-1;false;7692;1;10;1;true;1;false;1;1;false;0;0;true;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;-1;false;0;0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;3;12;7;4;5;2;13;11;15;6;8;9;10;1;14;-1;
Yavaş yavaş çekildi:
3;1;
3 oyuncu var ve oyuncu 1'in sırası (sıfır endeksli, yani ikinci oyuncu)
Oyuncular
false;1546;0;14;-1;
false;7692;1;10;1;
true;
İlk oyuncu:
- iflas değil
- elinde 1546 dolar nakit var
- 0 hapishaneden kurtulma kartına sahip
- 14. pozisyonda (Virginia Ave)
- hapiste değil
İkinci oyuncu ise hapiste ve bir tur için olmuştur. Neden olduğundan emin değilim , çünkü bir GOoJF kartı var, ama orada.
Üçüncü oyuncu iflas eder ve ne daha fazla bilgi ne de gereklidir.
Özellikleri
1;false;1;
1;false;0;
0;true;0;
-1;false;0;
-1;false;0;
-1;false;0;
...
Mülkler, Akdeniz'den başlayıp Boardwalk'ta biten, tahta çevresinde sıralanmıştır. Sahip olunamayan mülkler bu listeye dahil değildir, bu nedenle toplam 28 olacaktır. İyileştirme seviyesi 0
onaylanmamış demektir. Düzeyi 1
bir ev, 5
bir otel için düzeye kadar . Bir -1
sahip, herhangi bir oyuncuya ait olmadığı anlamına gelir.
Standart kurallara göre, ipotekli bir özellik olmalı ait olması ve must not geliştirilebilir. İyileştirilmiştir Bir özellik olmalıdır ait olması ve olmamalıdır ipotekli olması.
Ayrıca, bir mülkün iyileştirilmesi için bir oyuncunun tüm renk bloğuna sahip olması gerekir . Bu oyunun amaçları doğrultusunda, mülklerin "eşit olarak" geliştirilip iyileştirilmediğini umursamıyoruz.
Bu konumlar olduğunu unutmayın değil yukarıda verilen oyuncu pozisyonları ile aynı . Örneğin, 5
pozisyondaki bir oyuncu listedeki üçüncü mülk olan Okuma Demiryolunda olacaktır (çünkü Go, Community Chest ve Gelir Vergisi sahiplenilemez). Oyuncu pozisyonları 0
(Go) konumundan 39
(Boardwalk) saat yönünde çalışır .
Kartlar
0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;
3;12;7;4;5;2;13;11;15;6;8;9;10;1;14;-1;
Şans ve Toplum Sandığı destelerinin her birinde 16
toplam kart bulunur. Sayılar, karıştırılmış olan destede göründükleri gibi sunulur. Bu örnek için, Şans destesinden çekilen ilk kart kart 0
, ardından kart olacaktır 1
(desteyi berbat eden kişi). Topluluk göğsünden çekti ilk kart kartıdır 3
sonra 12
.
Her kartın ne olduğu konusunda endişelenme Kart hariç, anlama geldiğinden (kart metni) 0
. Bu deste için Get Out of Jail Free kartı. Bir oyuncunun sahibi varsa, listenin sonunda, olarak temsil edilir -1
.
Çıktı:
Oyun durumunun bir temsilini çıktı almalısınız (konsol, stdout veya dosya için). Bu, tüm bilgileri içermelidir gerekli oyun temsil etmek. Örneğin, geliştirilmemiş veya ipotek edilemedikleri için sahipsiz özellikleri atlayabilir (veya kısaltabilirsiniz). Giriş, dizinsiz bir liste olduğu için bunları atlayamaz.
Sıkıştırma, en kötü durum çıktı boyutunu hesaplayabileceğiniz şekilde yapılmalıdır. Bu, bazı sıkıştırma algoritmalarını diskalifiye edebilir (en kötü durumu kanıtlayamadıkça ve en kötü durum girdisine bir örnek vermedikçe).
Kaynak kodunuz mantıksız olmadığı sürece ayrıntılı değilse, oyunun nasıl temsil edildiğine ilişkin bir açıklama yapın. Golf programından ve sıkıştırılmış çıktıdan başka hiçbir şey içermeyen cevaplar önerilmez. Örneğin, belirli değerleri atlıyorsanız, bunların çıktıdan nasıl türetilebileceğini açıklayın.
Puanlama / Kurallar:
Puanlama, hem bit cinsinden en kötü durum sıkıştırma boyutuna hem de bayt cinsinden kaynak kodu boyutuna dayanır :
score = (outputBits * 2) + encoderSourceBytes
Tam bir cevap şunları içermelidir:
- Çıktı örneği
- Kodlayıcı kaynağı
- Kod çözücü kaynağı (puana göre sayılmaz)
Tüm kodlayıcılar eksiksiz programlar ve standart boşluklar olmalıdır yasaktır. Yerleşik veya harici sıkıştırma kitaplıklarının kullanılması da yasaktır.
Kazanan, yukarıda tanımlandığı gibi en düşük puana sahip cevaptır .
The second player is in jail, and has been for one turn. I'm not sure why, since he has a GOoJF card, but he's there.
Hapiste olmak iyi bir oyun. Çünkü kira ödemezsiniz. :)