Tujuan dari tantangan ini adalah untuk menggambarkan secara grafis sebuah jalan di pesawat, di mana arah setiap langkah ditentukan oleh keutamaan dan paritas dari ekspansi binernya. Secara khusus,
- Arah awal sudah ditetapkan, katakan Utara.
- Semua langkah memiliki panjang yang sama .
- The arah langkah dapat Utara, Barat, Selatan atau Timur, dan ditentukan sebagai berikut:
- Jika tidak prima, arahnya tidak berubah.
- Jika adalah prima dan ekspansi biner dari memiliki angka genap, belok kanan.
- Jika adalah prima dan ekspansi biner dari memiliki jumlah ganjil, belok kiri.
Sebagai contoh yang berhasil , asumsikan bahwa arah awal adalah Utara. Langkah pertama adalah:
- bukan bilangan prima. Jadi kami bergerak satu langkah ke arah saat ini, yaitu Utara.
- adalah prima, dan ekspansi binernya
10
,, memiliki dan ganjilnya. Jadi kita belok kiri, dan sekarang menghadap ke Barat. Kami bergerak satu langkah ke arah itu. - adalah prima, dan ekspansi binernya
11
,, memiliki dan bahkan sejumlah. Jadi kita belok kanan, dan sekarang menghadap ke Utara. Kami bergerak satu langkah ke arah itu. - tidak prima. Jadi kami bergerak satu langkah ke arah saat ini, yaitu Utara.
Tantangan
Masukan : positif bilangan bulat .
Output : plot jalan -step seperti yang didefinisikan di atas.
Aturan tambahan
- The arah awal dapat dipilih secara bebas (tidak harus Utara), tapi harus sama untuk semua .
- The Aturan memutar dapat menjadi berlawanan dengan yang dijelaskan di atas, yaitu, belok kanan untuk paritas ganjil dan kiri bahkan; tapi itu harus sama untuk semua .
- Outputnya harus berupa penggambaran grafis jalan-jalan. Contohnya:
- Jalan dapat digambar dengan segmen garis.
- Poin yang dikunjungi dapat ditampilkan dengan spidol, seperti titik; dengan atau tanpa menghubungkan segmen garis.
- Gambar raster dua warna dapat disediakan, dengan satu warna yang sesuai dengan titik yang dikunjungi dan yang lain untuk yang tidak dikunjungi.
- Timbangan sumbu horizontal dan vertikal tidak harus sama. Juga label sumbu dan elemen serupa adalah opsional. Selama perjalanan dapat dilihat dengan jelas, alur ceritanya sahih.
- Perhatikan bahwa beberapa titik dikunjungi lebih dari satu kali. Plotnya tidak sensitif terhadap ini. Misalnya, jika segmen garis ditampilkan dalam plot, setiap segmen unit ditampilkan sama tidak peduli berapa kali telah dilalui.
- Kode harus bekerja untuk
N
sumber daya tak terbatas yang diberikan. Dapat diterima jika dalam praktiknya gagal besarN
karena keterbatasan waktu, memori atau tipe data. - Input dan output fleksibel seperti biasa. Secara khusus, salah satu cara standar untuk menghasilkan gambar dapat digunakan.
- Kode terpendek dalam byte menang.
Uji kasus
Plot berikut menggunakan Utara sebagai arah awal; bahkan paritas berbelok ke kanan; dan jalan digambarkan dengan segmen garis.
N = 7
:
N = 3000
:
N = 20000
:
N = 159000
:
N = 1200000
:
N = 11000000
:
[graphical-output]
yang diizinkan? Ada alasan khusus untuk melarang output ASCII, seperti jawaban Arang saya yang sekarang dihapus?