Akordeon , son zamanlarda karşılaştığım solitaire kart oyunudur ve neredeyse her düzenin çözülebilir, ancak inanılmaz derecede zor olduğu bir oyundur. Burada oynayabilirsiniz .
kurallar
52 yüz kartı açık olarak rasgele sırada yerleştirilir. Her turda, bir kartı daha sonraki bir kartla değiştirirsiniz, burada iki kart :
- Bir takım elbise veya numara paylaşın ve
- 1 (bitişik) veya 3 (aradaki iki kart ) mesafede .
Yalnızca 1 kart kaldığında oyun kazanılır . Her girişin çözülebilir olduğunu varsayabilirsiniz. Değiştirilen kart her zaman değiştirilen karttan önce gelmelidir.
Misal
Örnek olarak, aşağıdaki düzeni göz önünde bulundurun:
2H,2S,1S,2D (H: Hearts, S: Spades, D: Diamonds)
Burada 3 olası hamle var:
2H
Bitişik ile değiştirin2S
, böylece2S,1S,2D
2S
Bitişik ile değiştirin1S
, böylece2H,1S,2D
- Yerine
2H
ile2D
biz ile sonuna kadar, yani (3 bir mesafede)2D,2S,1S
O 3 hamle arasında yalnızca sonuncusu (Sen değiştirerek kazanmak kazanma olasılığı vardır 2D <- 2S
, sonra 2S <- 1S
).
Giriş çıkış
İşiniz bir Akordeon çözücü yazmaktır . Bir kart listesi geçtiniz ve oyunu çözmek için bir hamle listesi döndürmeniz gerekiyor.
Kartların bir listesini virgülle ayrılmış bir dize olarak geçirirsiniz; burada her kart, sayısal değerlerini temsil eden bir tamsayı, daha sonra da takımlarını temsil eden bir karakter olarak geçirilir.
Her bir değiştirme biçiminin Card <- Card
(yukarıda açıklanan kart biçimini izleyerek) olduğu bir değiştirme listesini virgülle ayrılmış dize olarak döndürmeniz gerekir . Her çiftteki ilk kart değiştirilen karttır.
Test senaryoları:
5H,1C,12S,9C,9H,2C,12C,11H,10C,13S,3D,8H,1H,12H,4S,1D,7H,1S,13D,13C,7D,12D,6H,10H,4H,8S,3H,5D,2D,11C,10S,7S,4C,2H,3C,11S,13H,3S,6C,6S,4D,11D,8D,8C,6D,5C,7C,5S,9D,10D,2S,9S
5H,9C,11H,7S,7D,12D,6H,10S,3H,4D,12C,2S,3C,5C,7H,6S,1H,8S,2H,11S,4C,10D,12H,9H,2D,4H,6C,13H,11C,2C,10H,8C,1S,11D,3S,12S,7C,5D,13S,8D,4S,6D,13C,3D,8H,13D,1D,9D,9S,1C,5S,10C
7H,11C,8C,7S,10D,13H,4S,10C,4D,2C,4H,13D,3C,2H,12C,6C,9H,4C,12H,11H,9S,5H,8S,13S,8H,6D,2S,5D,11D,10S,1H,2D,5C,1C,1S,5S,3H,6S,7C,11S,9C,6H,8D,12S,1D,13C,9D,12D,3D,7D,10H,3S
Bu yarışma bir kod golfü olmakla birlikte , özellikle zaman açısından verimli çözümlerle ilgileniyorum ve muhtemelen ustaca çözümleri ödüllerle ödüllendireceğim. Bununla birlikte, astronomik zaman alan çözümler hala kabul edilebilir (16 kart, 4 takım destesi gibi daha küçük bir desteyle test etmenizi öneririm).