Magic : The Gathering에서 마법사 ( "planeswalkers"라고도 함)는 주문을 시전하여 서로 대결합니다. 주문에는 마나가 소모됩니다. 화이트, 블루, 블랙, 레드, 그린의 5 가지 마나가 각각 {W}, {U}, {B}, {R} 및 {G}로 표시됩니다.
주문의 비용은 약간 더 복잡합니다. 비용은 다음의 조합 일 수 있습니다.
- 하나 이상의 색상
- {X}로 표시되는 하나 이상의 무색 (여기서 X는 양의 정수임)
- {Y / Z}로 표시되는 하나 이상의 하이브리드 (여기서 Y 및 Z는 색상 (5 개의 문자 중 하나로 표시됨)이거나 무색이며 양의 정수로 표시됨)
주문을 시전 할 때 다음 규칙이 적용됩니다.
- 비용의 색상은 해당 색상의 하나의 마나로 충족되어야합니다.
- 무색의 비용 {X}는 모든 색상의 X 마나로 충족 될 수 있습니다
- Y 또는 Z를 만족시킴으로써 하이브리드 비용 {Y / Z}를 만족시킬 수있다
- 중괄호는 중첩되지 않습니다.
- Y와 Z는 하이브리드가 아닙니다
풀의 마나와 비용이 주어지면 해당 풀의 마나가 비용을 충족시킬 수있는 경우에만 참 (또는 일부 진실한 값)을 인쇄하거나 반환하는 프로그램이나 함수를 작성하고 그렇지 않으면 거짓 (또는 거짓 값)을 작성하십시오.
마나 풀은 비어 있지 않은 문자열 형식입니다.
Color1,Color2,Color3,...,Colorn-1,Colorn
비용은 비어 있지 않은 문자열 형식입니다.
Cost1,Cost2,Cost3,...,Costn-1,Costn
예
형식 Pool Cost -> ExpectedOutput
(풀과 비용 사이에 공백이 있음)으로 :
{R},{R},{G},{B},{R} {4},{R} -> True
{G},{G},{G},{G},{W},{W},{W} {2/W},{2/U},{2/B},{2/R},{2/G} -> False
{G},{G},{R} {R/G},{G/B},{B/R} -> True
{R},{R},{R},{G} {1},{G},{2/G}-> True
{R} {R},{R},{R},{R},{R} -> False
{W},{R},{R} {2/W},{W/B} -> True
{U},{U} {1} -> True
{W},{R},{G} {1},{2} -> True