ภาพนี้สร้างขึ้นโดยการซ้อนทับสี่เหลี่ยมมุมฉาก 7 สีที่ต่างกัน:
รูปสี่เหลี่ยมผืนผ้าสีดำและสีน้ำตาลแดงไม่มีสิ่งกีดขวางกล่าวคือไม่มีรูปสี่เหลี่ยมผืนผ้าอื่น ๆ
เขียนโปรแกรมที่ถ่ายภาพเช่นนี้และลบสี่เหลี่ยมที่ไม่มีสิ่งกีดขวางใด ๆ ออกภาพที่ได้ออกมา
ตัวอย่าง
หากคุณรันโปรแกรมของคุณบนภาพด้านบนและทำการรันซ้ำบนผลลัพธ์มันอาจจะเป็นแบบนี้
เรียกใช้ 1 - ลบสีดำ (อาจเป็นสีน้ำตาลแดง):
Run 2 - Maroon ถูกลบ (ตัวเลือกเท่านั้น):
เรียกใช้ 3 - ลบสีเหลือง (ตัวเลือกเท่านั้น):
เรียกใช้ 4 - ลบสีน้ำเงิน (อาจเป็นสีเขียว):
Run 5 - สีเขียวถูกลบ (ตัวเลือกเท่านั้น):
เรียกใช้ 6 - ลบสีน้ำตาล (ตัวเลือกเท่านั้น):
Run 7 - Red ถูกลบ (ตัวเลือกเท่านั้น):
การวิ่งเพิ่มเติมใด ๆ ควรให้ภาพสีขาวเหมือนกัน
หวังว่า Stack Exchange จะไม่บีบอัดอิมเมจเหล่านี้ใด ๆ
ภาพจะมีพื้นหลังสีขาวอยู่เสมอและแต่ละสี่เหลี่ยมผืนผ้าจะเป็นสี RGB ที่ไม่ซ้ำใครซึ่งไม่ใช่สีขาว
คุณสามารถสันนิษฐานได้ว่าภาพสามารถตีความได้ว่าเป็นชุดของรูปสี่เหลี่ยมผืนผ้าที่ทับซ้อนกันเสมอ คุณสามารถสันนิษฐานได้ว่าสำหรับสีที่เจาะจงพิกเซลที่มีสีนั้นใกล้เคียงกับส่วนบนของภาพนั้นเป็นส่วนหนึ่งของขอบด้านบนของสี่เหลี่ยมสีนั้น สิ่งเดียวกันถือสำหรับขอบด้านล่างซ้ายและขวา
ตัวอย่างเช่นในภาพนี้ขอบด้านบนของสี่เหลี่ยมสีแดงจะอยู่ใต้ขอบด้านล่างของสี่เหลี่ยมสีเหลืองเนื่องจากสี่เหลี่ยมผืนผ้าสีส้มครอบคลุมขอบด้านบนสีแดงเก่า:
ในภาพนี้สี่เหลี่ยมสีแดงสามารถลบออกได้ก่อน (พร้อมด้วยสีดำ / สีน้ำตาลแดง / สีส้ม / สีเทา):
เมื่อลำดับสี่เหลี่ยมมุมล่างไม่ชัดเจนคุณสามารถให้ลำดับใดก็ได้
ตัวอย่างเช่นภาพซ้ายที่นี่อาจกลายเป็นตรงกลางหรือขวา:
เอาต์พุตไม่ควรมีการทับซ้อนที่ขัดแย้งกัน (ดังนั้นควรใช้อัลกอริธึมของจิตรกร ) ดังนั้นในภาพนี้ ( ขอบคุณผู้ใช้ 23013 ) มันจะต้องเป็นสีเขียวภายใต้สี่เหลี่ยมผืนผ้าสีส้ม:
รายละเอียดเพิ่มเติม
- รูปภาพและสี่เหลี่ยมอาจมีขนาดใดก็ได้
- สี่เหลี่ยมอาจสัมผัสกับเส้นขอบภาพ
- อาจมีได้ถึง 256 3 - 1 สี่เหลี่ยม
- หากอินพุตเป็นสีขาวทั้งหมดผลลัพธ์ก็ควรจะเป็นเช่นกัน
- คุณอาจใช้ไลบรารีรูปภาพ
- อินพุตควรเป็นชื่อไฟล์ภาพหรือข้อมูลภาพดิบ มันสามารถมาจาก stdin หรือบรรทัดคำสั่ง
- เอาต์พุตสามารถถูกเขียนไปยังไฟล์รูปภาพเดียวกันหรือไฟล์อื่น, แบบ raw ที่เขียนไปยัง stdout, หรือแสดงแบบง่ายๆ
- อนุญาตให้ใช้ไฟล์ภาพtruecolorแบบ lossless ทั่วไป
การส่งที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ