ป.ร. ให้ไว้หลายชุดเช่นs1={2,3,7}
, s2={1,2,4,7,8}
และs3={4,7}
เป็นแผนภาพเวนน์น visualizes แต่ละชุดโดยปิดโค้งและชุดองค์ประกอบซึ่งมีทั้งภายในหรือภายนอกปริมณฑลโค้งที่ขึ้นอยู่กับว่าพวกเขาเป็นส่วนหนึ่งของชุดหรือไม่ เนื่องจากชุดองค์ประกอบทั้งหมดปรากฏเพียงครั้งเดียวใน Vram digram เส้นโค้งที่แสดงถึงชุดแต่ละชุดจึงจำเป็นต้องทับซ้อนกันหากมีองค์ประกอบอยู่ในชุดมากกว่าหนึ่งชุด เราเรียกแต่ละเซลล์ที่ซ้อนทับกันของแผนภาพ Venn
คำอธิบายนี้อาจทำให้สับสนเล็กน้อยดังนั้นเรามาดูตัวอย่าง
ตัวอย่าง
แผนภาพเวนน์ชุดs1
, s2
และs3
อาจมีลักษณะเช่นนี้
เซลล์นี้แผนภาพเวนน์จะ (อ่านจากบนลงล่างซ้ายไปขวา) {1,8}
, {2}
, {7}
, {4}
, {3}
, และ{}
{}
ในทางปฏิบัติหนึ่งทั่วไปพบเฉพาะไดอะแกรมเวนน์ของสองหรือสามชุดเนื่องจากการแทนไดอะแกรมเวนน์ของสี่หรือมากกว่าชุดไม่ชัดเจนมาก อย่างไรก็ตามมีอยู่เช่นสำหรับหกชุด:
CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1472309
งาน
กำหนดชุดของจำนวนเต็มบวกที่ไม่ว่างเปล่าในการนำเสนอที่สมเหตุสมผลใด ๆ ให้ส่งคืนชุดเซลล์ของแผนภาพ Venn ของชุดอินพุต โดยเฉพาะอย่างยิ่งไม่จำเป็นต้องมีการแสดงกราฟิก
- คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ
- คุณอาจส่งคืนชุดว่างได้มากเท่าที่มีเซลล์ว่างเปล่า (เช่นรายการของเซลล์ทั้งหมด) แทนชุดเปล่าเพียงชุดเดียว (เช่นชุดของเซลล์)
- บางวิธีที่เหมาะสมของการป้อนข้อมูลสำหรับตัวอย่างข้างต้นรวมถึง แต่ไม่ จำกัด
{{2,3,7},{1,2,4,7,8},{4,7}}
,[[2,3,7],[1,2,4,7,8],[4,7]]
, หรือ"2,3,7;1,2,4,7,8;4,7"
"2 3 7\n1 2 4 7 8\n4 7"
หากสงสัยว่ารูปแบบอินพุตที่คุณเลือกนั้นเป็นที่ยอมรับหรือไม่โปรดถามในความคิดเห็น - รูปแบบผลลัพธ์ของคุณควรตรงกับรูปแบบการป้อนข้อมูลของคุณหากเป็นไปได้ โปรดทราบว่ากฎนี้ต้องการรูปแบบของคุณเพื่อให้สามารถแสดงชุดว่างได้อย่างไม่น่าสงสัย
- นี่คือโค้ดกอล์ฟดังนั้นพยายามใช้จำนวนน้อยที่สุดในภาษาที่คุณเลือก เพื่อส่งเสริมการแข่งขันต่อภาษาแทนที่จะเป็นระหว่างภาษาฉันจะไม่ยอมรับคำตอบ
กรณีทดสอบ
นี่คืออินพุตบางส่วนพร้อมกับเอาต์พุตที่เป็นไปได้:
input -> output
{{2,3,7},{1,2,4,7,8},{4,7}} -> {{1,8},{2},{7},{4},{3},{}} (or {{1,8},{2},{7},{4},{3},{},{}})
{{1,2,3},{4,5,6},{7,8,9}} -> {{1,2,3},{4,5,6},{7,8,9},{}}
{{}} -> {{}}
{{1,2,3},{1,2}} -> {{1,2},{3},{}}
{{4,3,8},{1,2,9,3},{14,7,8,5},{6,11,3,8},{10},{9,4,3,7,10}} -> {{6,11},{10},{4},{3},{8},{5,14},{1,2},{9},{7},{}}
{{2,3,4,7},{},{1,3,7,5,6},{2,3,7,5},{7,2,4,3,6},{1,4,5}} -> {{},{4},{2},{7,3},{1},{6},{5}}
{{1,2,3,4},{1,2,5,6},{1,3,5,7}} -> {{4},{3},{2},{1},{6},{5},{7}}
{{1,2,3},{4,5,6},{7,8,9},{},{},{},{}}
อย่างไร