การใช้Algodooและโปรแกรมระบายสีฉันสร้างภาพโมโนโครมขนาด300x300หกรูปที่มีสี่รูปร่างที่สะดวก:
รูปภาพของคลาสนี้มีคุณสมบัติดังต่อไปนี้:
- พวกเขามักจะ 300 × 300 พิกเซล, monochromatic (สีดำและสีขาวเท่านั้น) และมีพื้นที่สีขาวสี่ที่ตรงกับสี่เหลี่ยม, วงกลม, สามเหลี่ยมและเกียร์
- รูปร่างไม่ซ้อนหรือสัมผัสซึ่งกันและกันและไม่แตะขอบภาพหรือออกนอกขอบเขต
- รูปร่างมีขนาดเท่ากันเสมอ แต่อาจหมุนและวางในลักษณะใดก็ได้
(รูปร่างยังมีพื้นที่เท่ากันแม้ว่าเมื่อ rastered เช่นนี้จำนวนพิกเซลของพวกเขาจะไม่เท่ากันอย่างแน่นอน)
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดที่เป็นไปได้ซึ่งจะอยู่ในชื่อไฟล์ของภาพและเปลี่ยนพิกเซลสีขาวทั้งหมด ...
- สีแดง
(255, 0, 0)
ถ้าพวกเขาอยู่ในตาราง - สีน้ำเงิน
(0, 0, 255)
ถ้าพวกเขาอยู่ในวงกลม - สีเขียว
(0, 255, 0)
ถ้าพวกเขาอยู่ในรูปสามเหลี่ยม - สีเหลือง
(255, 255, 0)
ถ้าพวกเขาอยู่ในเกียร์
เช่น
รายละเอียด
โปรแกรมของคุณควรทำงานเพื่อให้ได้ภาพอินพุตที่เป็นไปได้ทั้งหมดอย่างมีประสิทธิภาพ (จะป้อนเฉพาะภาพขาวดำขนาด 300 × 300 เท่านั้น) ภาพหกภาพที่ฉันให้ไว้เป็นเพียงตัวอย่างเท่านั้น
คุณไม่สามารถใช้ห้องสมุดหรือฟังก์ชั่นการมองเห็นของคอมพิวเตอร์ในตัวหรือภายนอก ประเด็นคือการทำเช่นนี้โดยใช้การทำงานระดับพิกเซลของคุณเอง คุณอาจใช้ไลบรารีรูปภาพที่ให้คุณเปิดและแก้ไขรูปภาพ (เช่น PIL สำหรับ Python)
คุณสามารถใช้รูปแบบไฟล์ภาพ lossless ทั่วไปสำหรับอินพุตและเอาต์พุตตราบใดที่คุณยึดตามแบบแผนชุดสี
คุณสามารถใช้ชื่อไฟล์ภาพเป็นอาร์กิวเมนต์ฟังก์ชันจาก stdin หรือจากบรรทัดคำสั่ง ภาพออกสามารถบันทึกเป็นไฟล์ใหม่ไฟล์เดียวกันหรือแสดงเพียง
เกณฑ์การให้คะแนน
การส่งที่มีไบต์น้อยที่สุดจะเป็นผู้ชนะ ฉันอาจทดสอบการส่งภาพที่มีรูปภาพเพิ่มเติมเพื่อตรวจสอบความถูกต้องของภาพ