Persepsi Kurir
Program harus menerima string apa pun sebagai input dan output gambar piksel yang menunjukkan string input di Courier. Semua huruf yang berisi 'lubang' (seperti abdegopqABDPQR
dll) yang dikelilingi oleh piksel hitam juga harus diisi hitam.
Memasukkan
Program harus dapat menerima string ASCII sebagai input. Input dapat dengan cara apa pun yang Anda inginkan, selama kode program itu sendiri tidak harus berubah untuk menerima input yang berbeda. (Kecuali untuk misalnya nama file file yang akan dibaca.) Tidak ada celah standar. Anda dapat mengasumsikan bahwa setiap input mengandung setidaknya satu huruf yang dapat dicetak.
Keluaran
Keluaran harus berupa grafik piksel hitam dan putih (tanpa abu-abu) yang menunjukkan string yang ditulis dalam Kurir (hitam, latar putih), dengan diisi 'lubang' yang ditentukan. Ukuran huruf seluruh string harus konstan (yang berarti tidak ada penskalaan yang berbeda untuk setiap huruf yang berbeda) sehingga huruf berukuran penuh (misalnya ABCDEFGHIJKLMNOPRSTUVWXYZ
tetapi j dan Q lebih besar) harus memiliki tinggi setidaknya 10 px. (Anda tidak harus menulisnya ke file, tampilan apa pun tidak apa-apa asalkan dihasilkan sebagai pixelgraphics, seperti kanvas dalam JavaScript.) Silakan posting grafik ini dengan jawaban Anda.
Akses ke perpustakaan courier.ttf / font diizinkan.
Program juga harus menghitung jumlah piksel hitam dan menuliskannya ke konsol atau metode keluaran apa yang lebih disukai pada akhirnya.
Skor
Skor dievaluasi sebagai berikut: Kode program lengkap harus digunakan sebagai string input untuk program Anda. Jumlah piksel hitam akan menjadi skor Anda. Kode program yang mengandung huruf yang tidak dapat dicetak atau non-ASCII tidak diperbolehkan. (Serta celah standar.) Semakin rendah skor semakin baik.
Jawaban:
Mathematica, 4864 piksel
Ini gambarnya:
Di Mathematica saat Anda menulis "program", Anda cukup menulis cuplikan. Jadi ini mengharapkan input disimpan
j
dan hal terakhir yang dikembalikan adalah gambar dan hitungan. Ini juga memuntahkan banyak kesalahan, karena saya tidak melakukan batas memeriksal
, tetapi tetap menghasilkan hasil yang diinginkan.di mana
%
mengacu pada kata keluaran terakhir.Terima kasih kepada Geobits untuk ide algoritma. Saya mengisi gambar dari sudut kiri atas dengan intensitas yang tidak valid, lalu saya mengganti semua piksel putih yang tersisa dengan piksel hitam, dan yang tidak valid dengan yang putih.
Perhatikan bahwa
FreeQ
pemeriksaan sebenarnya tidak diperlukan agar program dapat bekerja dengan benar, tetapi untuk menyelesaikannya dalam waktu yang wajar. Jika saya tinggalkan, saya benar-benar skor kurang 300 piksel.sumber