Lost adalah bahasa pemrograman 2-D di mana posisi awal dan arah ip sepenuhnya acak.
Ini membuatnya sangat sulit untuk membuat program Lost yang deterministik. Namun hari ini kami tidak menulis program deterministik, kami menulis RNG.
Tulis program yang Hilang yang tidak mengambil input dan output satu digit (0,1,2,3,4,5,6,7,8, atau 9), dengan semua digit memiliki probabilitas yang sama untuk menjadi output. Karena lokasi awal dan arah Lost adalah satu-satunya sumber keacakan, satu-satunya cara untuk melakukan ini adalah memiliki setiap lokasi di sumber Anda menghasilkan angka yang berbeda dari 0 hingga 9 dengan angka yang sama menghasilkan setiap digit.
Anda dapat menghitung probabilitas setiap digit dengan menggunakan -Q
flag dan memipakannya ke skrip python ini
import sys
a=sys.stdin.read().split()[:-1]
for x in range(10):print x,':',a.count(`x`)
print[x for x in a if x not in list("1234567890")]
Ini adalah kode-golf sehingga jawaban akan dinilai dalam byte dengan lebih sedikit byte lebih baik.
Ikhtisar Kehilangan
Lost adalah IO 2D pembungkus implisit yang mengambil banyak hal dari cetakan Klein. Berikut ini adalah lembar contekan cepat dari apa yang dilakukan oleh perintah yang hilang
\
,/
,|
Mirrors ip<
,^
,>
,v
Hai ip dalam arah[
Merefleksikan ip jika bergerak ke timur; menjadi]
jika ip bergerak secara horizontal]
Merefleksikan ip jika bergerak ke barat; menjadi[
jika ip bergerak secara horizontal!
Melompati operasi selanjutnya?
Muncul dari atas tumpukan dan melompat jika tidak nol:
Gandakan bagian atas tumpukan$
Tukar dua item teratas dari tumpukan(
Muncul dari tumpukan dan mendorong ke ruang lingkup)
Muncul dari cakupan dan mendorong ke tumpukan0
-9
mendorong n ke atas tumpukan"
Mulai dan akhiri string literal. Selama string, perintah literal tidak dijalankan dan alih-alih nilai karakternya didorong ke stack.+
Menambahkan dua angka teratas*
Mengalikan dua angka teratas-
Kalikan bagian atas dengan -1%
Mematikan keamanan#
Hidupkan keamanan@
Mengakhiri eksekusi jika keamanan tidak aktif (mulai aktif)
[]
bertindak sebagai pintu, <>
arahkan ke arah dan ()
simpan dan ingat dari ruang lingkup. Lingkup digunakan untuk menyimpan nilai.
@
atau apakah ada usecases lain? Tentang kurung, saya tidak mengerti bagian ini: becomes ] if the ip is moving horizontally
. Bergerak ke timur juga secara horizontal, bukan?