สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ MtG-goodness: Magic: The Gathering Combat with Abilities
สถานที่ตั้ง:
ในเวทย์มนตร์: การรวบรวมคุณร่ายคาถาโดยการจ่ายมานาของพวกเขาโดยการแตะที่ที่ดินตามจำนวนที่ต้องการ ดินแดนเหล่านี้สามารถสร้างหนึ่งในห้าสีที่:
- สีขาว (W)
- สีน้ำเงิน (U)
- ดำ (B)
- แดง (R)
- เขียว (G)
ราคาประกอบด้วยสองส่วนคือตัวเลขซึ่งเป็นข้อกำหนดของมานาทั่วไปและชุดของสัญลักษณ์ที่แสดงถึงความต้องการมานาที่มีสี จำนวนเป็นค่าใช้จ่ายมานะทั่วไปและสามารถใช้สีของมานะใด ๆ เพื่อตอบสนองความมันเช่นสามารถชำระเงินด้วย(3)
WGG
สัญลักษณ์มีความต้องการสีเฉพาะ 1: 1 เช่นWWUBR
จะต้องมีมานาขาว 2 ตัว, 1 สีน้ำเงิน, 1 ดำและ 1 แดง ส่วนทั่วไปจะมาก่อนส่วนที่มีสี เพื่อเป็นการเตือนความจำ(0)
คือค่าใช้จ่ายที่ถูกต้องและต้องจัดการ
คุณสามารถมีค่าใช้จ่ายที่เป็นค่าทั่วไปหรือสีทั้งหมดหรือทั้งสองอย่าง ตัวอย่างเช่นการ์ดต่อไปนี้มีราคา 4BB และจ่ายด้วย 4 ของมานาที่มีสีอะไรและมานาดำ 2 อัน:
ดินแดนในการท้าทายนี้จะสร้างมานาหนึ่งอัน อย่างไรก็ตามเราจะพิจารณาดินแดนที่สามารถผลิตได้หลายสี แต่ยังคงให้ 1 มานาเท่านั้น เช่นG
จะผลิตมานาสีเขียวWG
สามารถผลิตได้ 1 สีขาวหรือ 1 สีเขียว
การป้อนข้อมูล:
คุณจะได้รับสองอินพุตต้นทุนของการ์ดและรายการที่ดิน
ค่าใช้จ่ายของการ์ดอาจเป็นสตริงหรือทูเปิลที่มีตัวเลขและสตริงสำหรับส่วนที่มีสี หากไม่มีชิ้นส่วนทั่วไปคุณสามารถวางสตริง / tuple ด้วย 0
รายการที่ดินจะเป็นรายการของสตริงที่แต่ละคนเป็นสิ่งที่ที่ดินที่กำหนดสามารถผลิตได้ รายการนี้สามารถว่างเปล่า (คุณไม่มีดินแดน) คุณสามารถใช้นี่เป็นรายการของ int โดยใช้ตรรกะบิตมาสก์ แต่โพสต์ชุดรูปแบบของคุณถ้าคุณทำ การสั่งซื้อนั้นขึ้นอยู่กับคุณด้วยหากมีความสำคัญมิฉะนั้นจะถือว่าเป็นไปWUBRG
ตามลำดับ
#Example input formats
"4BB", ("WG","B","B") #
(4,"BB"), (7,3,3) #Both should return falsy
เอาท์พุท:
truthy
ค่าถ้าคุณประสบความสำเร็จสามารถจ่ายค่าใช้จ่ายที่ได้รับที่ดินของคุณและfalsey
คุ้มค่าถ้าคุณไม่สามารถ
กฎ:
- คุณจะได้รับการรับรองการป้อนข้อมูลที่ถูกต้อง
- มานะจะถือว่าเป็นคำสั่ง "WUBRG" เสมอ หากคุณต้องการคำสั่งซื้ออื่นให้ระบุไว้ในคำตอบของคุณ
- สีจะถูกจัดกลุ่มในค่าใช้จ่ายเสมอเช่น "WWUBBRG"
- อินพุตจะใช้ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กทั้งหมดตามที่คุณต้องการ
- คุณควรจัดการ regex
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