Więcej dobroci MtG: Magic: The Gathering Combat with Abilities
Przesłanka:
W Magic: the Gathering rzucasz zaklęcia, płacąc koszt many, dotykając ziem o wymaganą ilość. Te ziemie mogą wytwarzać jeden z pięciu kolorów, które są:
- Biały (W)
- Niebieski (U)
- Czarny (B)
- Czerwony (R)
- Zielony (G)
Koszt składa się z dwóch części: liczby, która jest ogólnym zapotrzebowaniem na manę, oraz szeregu symboli reprezentujących kolorowe zapotrzebowanie na manę. Liczba jest ogólnym kosztem many i może go użyć w dowolnym kolorze many, np. (3)
Można go zapłacić WGG
. Symbole są wymaganiem 1: 1 określonego koloru. np. WWUBR
wymagałoby 2 białej many, 1 niebieskiej, 1 czarnej i 1 czerwonej. Część ogólna zawsze pojawi się przed częścią kolorową. Przypominamy, że (0)
jest to ważny koszt i należy się nim posługiwać.
Możesz mieć koszty, które są całkowicie ogólne, całkowicie kolorowe lub oba jednocześnie. Na przykład, następująca karta ma koszt 4BB i jest wypłacana za 4 dowolne kolorowe punkty many i 2 czarne punkty many:
Ziemie w tym wyzwaniu wytworzą po jednej many. Rozważymy jednak ziemie, które mogą wytwarzać wiele kolorów, ale nadal dają tylko 1 many. Np. G
Wytworzy zieloną manę, WG
może wyprodukować 1 białą lub 1 zieloną.
Wejście:
Otrzymasz dwa wejścia, koszt karty i listę ziem.
Kosztem karty może być sznurek lub krotka zawierająca liczbę i sznurek dla kolorowej części. Jeśli nie ma części ogólnej, możesz uzupełnić ciąg / krotkę wartością 0.
Lista gruntów będzie listą ciągów, z których każdy jest tym, co może wyprodukować dany kraj. Ta lista może być pusta (nie masz ziem). Możesz również potraktować to jako listę ints za pomocą logiki bit-mask, ale jeśli to zrobisz, opublikuj swój schemat. Kolejność zależy również od Ciebie, jeśli ma to znaczenie, w przeciwnym razie zostanie przyjęta w WUBRG
kolejności.
#Example input formats
"4BB", ("WG","B","B") #
(4,"BB"), (7,3,3) #Both should return falsy
Wynik:
truthy
Jakość, jeśli można z powodzeniem pokryć koszty podane wasze ziemie i falsey
wartości, jeśli nie można.
Zasady:
- Będziesz mieć zagwarantowane prawidłowe dane wejściowe
- Zakłada się, że man będzie zawsze w kolejności „WUBRG”. Jeśli chcesz innego zamówienia, podaj to w swojej odpowiedzi.
- Kolory zawsze będą grupowane według kosztu, np. „WWUBBRG”
- Dane wejściowe będą używać wszystkich wielkich lub wszystkich małych liter do wyboru.
- Powinieneś być w stanie obsłużyć wyrażenia regularne
127[WUBRG]{127}
i 254 ziem. - Standardowe luki zabronione
- To jest golf-golfwygrywa najkrótsza odpowiedź na język
Przykłady:
"0", ("") => 1
"1BB", ("WG","B","B") => 1
"BB", ("WG","B","B") => 1
"WB", ("WG","B","B") => 1
"1UB", ("W","U","B") => 1
"1BB", ("WB","WB","WG") => 1
"1", ("WG","B","B") => 1
"1BB", ("WGR","WB","WB") => 1
"WUBRG", ("W","U","B","R","G") => 1
"1WWUBB", ("W","WG","U","B","B","R") => 1
"10BB", ("WGR","WB","WB","B","B","B","B","B","B","B","B","B") => 1
"R", ("") => 0
"4", ("WG","B","B") => 0
"1BB", ("WG","WB") => 0
"1UB", ("WG","W","UB") => 0
"1UBR", ("W","WG","UBR") => 0
"WUBRG", ("WUBRG") => 0
"1WWUBB", ("W","WG","U","B","B") => 0
"10UU", ("WGR","WB","WB","B","B","B","B","B","B","B","B","B") => 0