Für die Zwecke dieser Frage wird ein Kartenspiel folgendermaßen formatiert:
[
"AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS",
"AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD",
"AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH",
"AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC", "QC", "KC",
"J", "J"
]
Karten werden immer als Wert formatiert, gefolgt von Farben. ZB AS
ist das Pik-As. Die beiden Single J's sind Joker. Wir wollen dieses Kartenspiel mischen, aber das Mischen muss Superb ™ sein.
Ein Superb Shuffle ™ ist eines, bei dem:
- Es liegen keine zwei Karten (außer Joker) derselben Farbe nebeneinander.
- Keine Karte (außer Joker) grenzt an eine Karte mit demselben Wert.
- Keine Karte (außer Joker) grenzt an einen benachbarten Wert (einen höheren oder einen niedrigeren in dieser Reihenfolge). A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A. Beachten Sie, dass Ace weder an eine 2 noch an einen König angrenzt.
- Die Joker können in jeder Position sein.
- Die Definition eines Superb Shuffle ™ erfordert nicht, dass die Karten bei jedem Mischen in einer anderen Reihenfolge vorliegen. Das ist nicht besonders gut, aber es ist Superb ™.
Denn das ist Superb ™.
Ein Beispiel könnte sein:
[
"AS", "5D", "9H", "KC", "2D", "6H", "10C", "QS", "3H", "7C", "9S",
"KD", "4C", "6S", "10D", "AC", "3S", "7D", "JH", "J", "4D", "8H",
"QC", "AD", "5H", "9C", "JS", "2H", "6C", "8S", "QD", "3C", "5S",
"9D", "KH", "2S", "6D", "10H", "J", "3D", "7H", "JC", "KS", "4H",
"8C", "10S", "AH", "5C", "7S", "JD", "2C", "4S", "8D", "QH"
]
Die Herausforderung:
- Schreiben Sie Code, um ein hervorragendes Shuffle auszuführen
- Verwenden Sie eine beliebige Sprache.
- Die Eingabe kann entweder sein :
- ein Kartenspiel wie oben beschrieben in der gleichen Reihenfolge , als Array oder andere Listenstruktur.
- Keine Eingabe (der Code generiert ein Kartenspiel in dieser Reihenfolge)
- Die Ausgabe muss ein vollständiges Kartenspiel in einem Superb Shuffle ™ sein, wie oben beschrieben.
- Versuchen Sie, Ihren Superb Shuffle ™ in der kleinsten Anzahl von Bytes auszuführen.
- Ein Link zu einem Online-Dolmetscher wie Try It Online ist bevorzugt, aber optional.
Viel Spaß beim Mischen!
T
statt 10
?