Na potrzeby tego pytania talia kart jest sformatowana w następujący sposób:
[
"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"
]
Karty są zawsze formatowane jako wartość, po której następują kolory. Np. AS
Jest as pik. Dwa single J to Jokery. Chcemy przetasować tę talię kart, ale musi ona być Superb ™.
Superb Shuffle ™ to taki, w którym:
- Żadne dwie karty (oprócz Jokerów) tego samego koloru nie sąsiadują ze sobą.
- Żadna karta (z wyjątkiem Jokerów) nie sąsiaduje z jedną o tej samej wartości.
- Żadna karta (z wyjątkiem Jokerów) nie sąsiaduje z jedną z sąsiednich wartości (jedną wyższą lub jedną niższą w tej kolejności, A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A. Zauważ, że As nie może sąsiadować z 2 lub Królem).
- Jokery mogą być w dowolnej pozycji.
- Definicja Superb Shuffle ™ nie wymaga, aby karty były w innej kolejności za każdym razem, gdy są tasowane. Co nie jest zbyt wspaniałe, ale jest to Superb ™.
Ponieważ to jest Superb ™.
Przykładem może być:
[
"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"
]
Wyzwanie:
- Napisz kod, aby wykonać doskonałe odtwarzanie losowe
- Użyj dowolnego języka.
- Wejście może być albo :
- talię kart, jak opisano powyżej, w tej samej kolejności , jako tablicę lub inną strukturę listy.
- Brak danych wejściowych (kod generuje talię kart w tej kolejności)
- Wyjściem musi być pełna talia kart w Superb Shuffle ™, jak opisano powyżej.
- Spróbuj wykonać Superb Shuffle ™ w najmniejszej liczbie bajtów.
- Link do tłumacza online, takiego jak Try It Online, jest preferowany, ale opcjonalny.
Miłego tasowania!
T
zamiast 10
?