การรวม - การแยกช่วยให้คุณคำนวณขนาดของสหภาพและจุดตัดระหว่างชุดที่ทราบค่าอื่น ๆ ฉันจะไม่อธิบายอย่างถ่องแท้ แต่ความท้าทายของคุณคือการมองเห็นการรวมการยกเว้นใน Venn Diagram
เพราะฉันดีคุณจะใช้รูปสี่เหลี่ยมผืนผ้าไม่ใช่แวดวง
คุณจะได้รับรายชื่อของรูปสี่เหลี่ยมผืนผ้าแสดงโดยพิกัดมุมบนซ้ายและขวาล่างในรูปแบบที่เหมาะสมใด ๆ (รายการของ tuples 4 รายการของคู่คู่รายการคู่ ฯลฯ ) คุณสามารถสันนิษฐานได้ว่าพิกัดทั้งหมดนั้นไม่เป็นลบและอยู่ในช่วงหมายเลข (สมเหตุสมผล) ของภาษาของคุณ (โปรดระบุว่ามันคืออะไรถ้ามันน้อยกว่า 128) คุณสามารถเลือกที่จะเป็นแบบรวมด้านซ้ายหรือด้านซ้ายแบบเอกสิทธิ์เฉพาะบุคคลและแบบด้านขวาหรือแบบด้านขวา ไม่ว่าคุณจะเลือกรูปแบบใดคุณสามารถสมมติว่ารูปสี่เหลี่ยมผืนผ้าทั้งหมดมีอย่างน้อย 1x1
จากนั้นคุณจะต้องวาดแต่ละสี่เหลี่ยมบนหน้าจอ (ผ้าใบ ASCII) โดยใช้อักขระที่ไม่ใช่ช่องว่างตัวk
เดียวซึ่งเป็นของคุณที่จะเลือก
อย่างไรก็ตามเมื่อใดก็ตามที่มีสี่เหลี่ยมสองรูปทับกันพื้นที่ทับซ้อนจะถูกวาดด้วยอักขระที่ไม่ใช่ช่องว่างl != k
อื่น
เมื่อใดก็ตามที่สามสี่เหลี่ยมซ้อนกันพื้นที่ที่ทับซ้อนกันควรจะวาดด้วยk
และสำหรับเป็นเลขคี่สี่เหลี่ยมครอบคลุมและเป็นเลขคู่,k
l
พื้นหลังควรเป็นช่องว่างเดียว ( 0x20
)
กรณีทดสอบ ( k = "#", l = "."
)
0 0 9 9
1 1 10 10
2 2 11 11
#########
#........#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#........#
#########
1 1 3 3
2 2 4 4
##
#.#
##
1 1 9 9
2 2 8 8
3 3 7 7
########
#......#
#.####.#
#.####.#
#.####.#
#.####.#
#......#
########
หมายเหตุ
- ช่องว่างนำหน้าและการขึ้นบรรทัดใหม่ (ซึ่งเกิดขึ้นหากไม่มีการประสานงานขั้นต่ำ
0, 0
) ต้องแสดง - ช่องว่างที่ต่อท้ายและการขึ้นบรรทัดใหม่จะได้รับอนุญาตในระดับที่เหมาะสม (เช่นไม่ได้ตามเหมือนการขึ้นบรรทัดใหม่ 100000000 นั่นเป็นเพียงการรำคาญ)
- แกน x และ y สามารถเผชิญได้ทั้งสองทาง แต่คุณต้องสอดคล้องและระบุว่า (ค่าเริ่มต้นคือ x- ขวาและ y- ลง)
- พิกัดสามารถเป็นดัชนี 0-, 1, หรือ 2-
นี่คือรหัสกอล์ฟดังนั้นจุดประสงค์คือต้องมีรหัสที่สั้นที่สุด มีความสุขในการเล่นกอล์ฟ!