This is Markov.
Markov's golf ball rolls around randomly.
Markov's ball will hole however he strikes it.
Markov is smart.
Be like Markov.
Dan ini:
adalah sarang semut di halaman belakang Langton.
Bukit itu cukup besar untuk menampung bola golf Markov, MarGolf. Namun, sarang semut bergerak dan berubah arah tergantung pada medan di sekitarnya.
Tugas
Ambil input bidang 10x20:
*
MarGolfO
Anthill Lanton,
Semut berubah 90 derajat searah jarum jam.
Semut berubah 90 derajat berlawanan arah jarum jam0
MarGolf di Langton's Anthill
Bidang tampak seperti ini:
,...,.,,..,...,.,,..
..,.,,,..,...,..,.,.
.,,*.,....,.,,,.,,,.
,.,,.,...,,.,.,,,,,.
.,..,....,,.....,,.,
,.,.,...,..,.,,,,..,
....,,,,,,,,,.......
........,,.,...,...,
,,,,,,,,,,,,....,O.,
,.,.,.,.....,,.,,,,,
Aturan permainan:
Konfigurasi bidang input disebut centang 0. Program Anda perlu mengevaluasi dan mencetak konfigurasi centang berikutnya, di mana MarGolf dan Langton's Anthill akan pindah ke sel lain. Item di sel saat ini akan menjadi item saat ini di sel target. Jika MarGolf dan sarang semut pindah ke sel yang sama pada tik berikutnya, permainan berakhir.
Aturan pergerakan:
- MarGolf bergerak secara acak. Kesembilan sel di area 3x3 di sekitar MarGolf memiliki peluang yang sama untuk dipilih. Ini menjadi pilihan di antara 6 sel di tepi lapangan, dan 4 sel di sudut.
- Langton's Anthill perlu mengingat arah gerakannya baik ke atas, bawah, kiri, atau kanan (NSEW atau apa pun yang setara). Ini bergerak satu sel dalam arahnya masing-masing centang, dan konten asli sel berubah arah searah atau berlawanan arah jarum jam, seperti ditentukan di atas. Arah awal pada tick 0 adalah acak, setiap arah memiliki peluang yang sama untuk menjadi yang awal.
Catatan
- Program perlu mencetak konfigurasi setiap centang, hingga permainan berakhir.
- Nomor kutu mendahului konfigurasi bidang setiap kutu.
- Anda dapat menganggap input selalu valid.
- Program terpendek adalah byte yang menang.
Pembaruan: lupa menyebutkan arah berbalik arah sebelum bergerak jika tidak akan keluar dari lapangan. Kredit untuk pengguna81655 untuk mengingatkan.
O
s arah untuk selanjutnya langkah.Jawaban:
Java 10,
611609607593591 byte-4 byte terima kasih kepada @ceilingcat .
Mengasumsikan swap terakhir
*
danO
akan mengosongkan sel dari mana*
berasal.Penjelasan:
Cobalah online.
sumber