더 많은 MtG 굿 니스 : 매직 : 능력을 가진 채집 전투
전제:
Magic : The Gathering에서는 필요한 양만큼 땅을 두드려 마나 비용을 지불하여 주문을 시전합니다. 이 토지는 다음 다섯 가지 색상 중 하나를 생성 할 수 있습니다.
- 화이트 (W)
- 블루 (U)
- 블랙 (B)
- 레드 (R)
- 그린 (G)
비용은 두 가지 부분으로 구성됩니다 : 일반적인 마나 요구 사항 인 숫자와 채색 된 마나 요구 사항을 나타내는 일련의 기호. 숫자는 일반적인 마나 비용이며 마나의 색상을 사용하여 만족시킬 (3)
수 있습니다 ( 예 : 으로 지불) WGG
. 기호는 특정 색상의 1 : 1 요구 사항입니다. 예를 들어 WWUBR
흰색 마나 2 개, 파란색 1 개, 검은 색 1 개, 빨간색 1 개가 필요합니다. 일반 부분은 항상 컬러 부분 앞에옵니다. 알림 (0)
은 유효한 비용이며 처리해야합니다.
비용은 전적으로 일반적이거나 전체적으로 색이 있거나 둘 다일 수 있습니다. 예를 들어, 다음 카드의 비용은 4BB이며 색깔이있는 마나 4 개와 검은 마나 2 개로 지불됩니다.
이 도전의 땅은 각각 하나의 마나를 생성합니다. 그러나 우리는 여러 색상을 생산할 수 있지만 여전히 1 마나 만 산출하는 땅을 고려할 것입니다. 예를 들어 G
녹색 마나 WG
를 생성하고 1 흰색 또는 1 녹색을 생성 할 수 있습니다.
입력:
카드 비용과 토지 목록이라는 두 가지 입력이 제공됩니다.
카드 비용은 문자열이거나 색칠 된 부분의 숫자와 문자열을 포함하는 튜플 일 수 있습니다. 일반적인 부분이 없으면 문자열 / 튜플을 0으로 채울 수 있습니다.
토지 목록은 주어진 토지가 생산할 수있는 문자열 목록입니다. 이 목록은 비어있을 수 있습니다 (땅이 없음). 비트 마스크 논리를 사용하여 이것을 int의 목록으로 가져갈 수도 있지만 스키마를 게시 할 수도 있습니다. 주문은 중요한 경우에도 귀하에게 달려 있으며, 그렇지 않으면 WUBRG
순서대로 가정됩니다 .
#Example input formats
"4BB", ("WG","B","B") #
(4,"BB"), (7,3,3) #Both should return falsy
산출:
truthy
값이 성공적으로 땅 주어진 비용과 지불 할 수있는 경우 falsey
값을 경우 당신은 할 수 없습니다.
규칙 :
- 유효한 입력이 보장됩니다
- 마나는 항상 "WUBRG"순서 인 것으로 가정합니다. 다른 주문을 원하면 답변에 명시하십시오.
- 색상은 항상 비용으로 그룹화됩니다 (예 : "WWUBBRG")
- 입력은 모두 대문자 또는 모두 소문자를 사용합니다.
- 정규식
127[WUBRG]{127}
과 254 개의 토지 를 처리 할 수 있어야합니다 . - 금지 된 표준 허점
- 이것은 코드 골프언어 당 가장 짧은 답변
예 :
"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