Hari terpanjang dalam setahun - ada sesuatu yang membuang waktu ekstra ...
Gambaran
Perhatikan ini bukan kontes popularitas dan bukan tantangan output grafis - Anda hanya diminta untuk menghasilkan string 65.536 angka nol dan satu. Cuplikan Stack di bagian bawah pertanyaan akan menampilkan ini sebagai 256 oleh 256 gambar hitam dan putih dan menghitung skor resmi Anda. Anda kemudian dapat menyimpan gambar dan mengunggahnya ke jawaban Anda di samping kode Anda (karena output string tidak sesuai dengan jawaban Stack Exchange 30.000 karakter).
Mencetak gol
Skor dari suatu gambar adalah jumlah dari skor masing-masing pikselnya. Skor dari masing-masing piksel adalah jumlah dari subskala untuk masing-masing piksel yang tidak ortogonal , jarak utama yang memiliki warna berlawanan dengan piksel yang sedang dicetak. Subscore untuk setiap piksel tersebut adalah di 1/p
mana p
jarak prima.
Dalam konteks pertanyaan ini, istilah-istilah tersebut memiliki definisi berikut:
Non-ortogonal: Sebuah piksel adalah non-ortogonal dengan piksel yang dicetak jika tidak berada di baris yang sama dan tidak di kolom yang sama.
Prime prime: Sebuah pixel berada pada jarak prime dari pixel yang dicetak jika mereka dipisahkan oleh jarak Euclidean yang persis merupakan bilangan prima. Secara khusus, jarak adalah jarak minimum yang diukur secara toroidal - piksel kiri atas adalah jarak dari
sqrt(2)
piksel kanan bawah (semua 4 tepi bungkus).Warna berlawanan: Sebuah piksel memiliki warna yang berlawanan dengan piksel yang dinilai jika nilainya menjumlahkan ke 1. Artinya, yang pertama adalah 0 dan yang kedua adalah 1, atau yang pertama adalah 1 dan yang kedua adalah 0 dan yang kedua adalah 0.
Cuplikan Stack menyertakan contoh kode yang menunjukkan cara menilai suatu gambar, tetapi tidak menyertakan optimisasi atau pendekatan yang efisien, hanya kode yang benar sehingga penilaian gambar akhir dapat dilakukan secara konsisten.
Jika ada sesuatu dalam kode yang tidak benar, harap beri tahu saya baik di komentar atau dalam obrolan .
JavaScript mungkin bukan bahasa terbaik untuk menjawab tantangan khusus ini. Perhatikan bahwa kode Snippet sengaja tidak memberikan petunjuk tentang pendekatan yang lebih cepat. Hanya akan ada efisiensi yang diperkenalkan yang telah ditunjukkan dalam jawaban yang ada.
Visualisasi
Pixel skor
Untuk nuansa intuitif untuk distribusi piksel penilaian, di sini (warna ungu) adalah piksel jarak prime non-ortogonal untuk piksel (128, 128) dari gambar 256 kali 256:
Gambar acak
Ini adalah gambar yang dihasilkan secara acak dari contoh jawaban Python 3. Ini memiliki skor 138.267,64 dan memberi Anda sesuatu untuk dikalahkan.
Memasukkan
Kode tidak memerlukan input.
Keluaran
Kode harus menampilkan string 65.536 nol dan satu, yang mewakili piksel hitam dan putih 256 dengan 256 gambar. Digit harus berupa string kontinu, tanpa pemisah. Anda mungkin lebih mudah menyalin dan menempel jika Anda menghasilkan file, tetapi ini terserah Anda.
Kode Anda juga dapat menampilkan informasi lain yang menurut Anda berguna, asalkan string dapat disalin dan ditempelkan ke dalam Stack Snippet. Misalnya, Anda mungkin ingin menampilkan string terbaik ke file dan skor terbaik ke STDOUT secara berkala, memungkinkan pengguna untuk memilih kapan harus menghentikan pencarian.
Cuplikan Stack
Seperti yang ditunjukkan oleh Sp3000 , cuplikan itu memakan waktu 10 menit untuk menghitung skor, yang agak terlalu lambat, bahkan untuk implementasi referensi yang sengaja tidak efisien. Saya telah mengedit perbaikan yang disarankan Sp3000 untuk mengkomputasi piksel offset untuk penilaian, dan sekarang perlu beberapa detik untuk menghitung skor.
Jika Anda menggunakan output atau kode jawaban lain sebagai titik awal untuk kode Anda sendiri, harap ingat untuk memberi kredit dan menautkan ke jawaban pendukung. Jawaban untuk pertanyaan ini tidak perlu dikreditkan contoh jawaban atau kode dalam pertanyaan.
sumber
Python 3, skor 138267.64
Ini adalah jawaban minimal sebagai contoh dari apa yang diperlukan, dan sebagai sesuatu untuk dikalahkan ...
Itu termasuk
Keluaran
Kode
Ini hanya sebuah contoh. Python mungkin tidak selalu menjadi bahasa terbaik untuk jawaban kompetitif untuk tantangan khusus ini.
sumber