Büyüde: Toplanma, büyücüler ("uçak yürüyüşçüleri" olarak bilinir) büyü yaparak birbirleriyle savaşırlar. Büyüler manaya maloluyor. Beş renk manası vardır: Sırasıyla {W}, {U}, {B}, {R} ve {G} olarak temsil edilen Beyaz, Mavi, Siyah, Kırmızı ve Yeşil.
Bir büyünün maliyeti biraz daha karmaşıktır. Maliyet, aşağıdakilerin herhangi bir kombinasyonu olabilir:
- Bir veya daha fazla renk
- Bir veya daha fazla renksiz, {X} olarak temsil edilir, ki burada X pozitif bir tamsayıdır.
- {Y / Z} olarak gösterilen, Y ve Z'nin bir renk (beş harften biriyle temsil edilir) veya renksiz, pozitif bir tamsayı ile temsil edilen bir veya daha fazla melez
Bir büyü yapmaya çalışırken aşağıdaki kurallar geçerlidir:
- Maliyetindeki bir renk, o rengin bir manası tarafından karşılanmalıdır.
- Renksiz bir maliyet {X}, herhangi bir rengin X manası tarafından karşılanabilir
- Bir hibrit maliyet {Y / Z}, Y veya Z'nin sağlanmasıyla sağlanabilir
- Diş tellerinin yuvalanmadığını unutmayın.
- Y ve Z melez değil
Bir mana havuzu ve bir maliyet verildiğinde, yalnızca o havuzdaki mana maliyeti karşılayabiliyorsa, aksi takdirde yanlış (veya bazı sahte değer) varsa, yazdırır veya gerçek (veya bazı truthy değeri) döndüren bir program veya işlev yazın.
Mana havuzu, biçiminin boş olmayan bir dizesidir:
Color1,Color2,Color3,...,Colorn-1,Colorn
Maliyet, biçimin boş olmayan bir dizesidir:
Cost1,Cost2,Cost3,...,Costn-1,Costn
Örnekler
Formatında Pool Cost -> ExpectedOutput
(Havuz ve Maliyet arasındaki boşlukla):
{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