Menggunakan Algodoo dan Paint, saya membuat enam gambar monokromatik 300 × 300 dengan empat bentuk yang nyaman:
Kelas gambar ini memiliki properti berikut:
- Mereka selalu 300 × 300 piksel, monokromatik (hanya hitam dan putih), dan memiliki empat wilayah putih yang sesuai dengan kotak, lingkaran, segitiga, dan roda gigi.
- Bentuknya tidak pernah tumpang tindih atau saling menyentuh, juga tidak menyentuh batas gambar atau keluar batas.
- Bentuknya selalu memiliki ukuran yang sama, tetapi mereka dapat diputar dan diposisikan dengan cara apa pun.
(Bentuknya juga memiliki area yang sama, meskipun ketika diraster seperti ini jumlah pikselnya tidak mungkin sama persis.)
Tantangan
Tulis program atau fungsi sesingkat mungkin yang menggunakan nama file dari gambar seperti itu dan mengubah semua piksel putih ...
- merah
(255, 0, 0)
jika mereka berada di alun-alun. - biru
(0, 0, 255)
jika mereka berada di lingkaran. - hijau
(0, 255, 0)
jika mereka berada di segitiga. - kuning
(255, 255, 0)
jika mereka berada di gigi.
misalnya
Detail
Program Anda harus bekerja secara efektif untuk semua gambar input yang mungkin. (Hanya 300 × 300 gambar monokromatik yang akan dimasukkan.) Keenam gambar yang saya berikan hanyalah contoh, Anda mungkin tidak dapat meng-hardcode outputnya ke dalam program Anda.
Anda tidak dapat menggunakan perpustakaan atau fungsi visi komputer, built-in atau eksternal. Intinya adalah melakukan ini menggunakan operasi level-pixel Anda sendiri. Anda dapat menggunakan pustaka gambar yang memungkinkan Anda membuka dan mengubah gambar (mis. PIL untuk Python).
Anda dapat menggunakan format file gambar lossless umum untuk input dan output selama Anda tetap pada skema warna.
Anda dapat mengambil nama file gambar sebagai argumen fungsi, dari stdin, atau dari baris perintah. Gambar output dapat disimpan ke file baru, file yang sama, atau hanya ditampilkan.
Mencetak gol
Kiriman dengan byte paling sedikit menang. Saya dapat menguji pengiriman dengan gambar tambahan untuk menentukan validitasnya.