Seberapa baik Anda mengetahui situs ini? Ayo cari tahu.
Ini adalah tantangan polisi dan perampok . Utas perampok.
Sebagai seorang polisi, Anda perlu:
- Temukan tantangan yang tidak terhapus, tidak tertutup di situs ini untuk menjawab. Tantangannya tidak boleh memiliki tanda-tanda berikut: polisi-dan-perampok , kontes-popularitas , kode-troll , licik , berang-berang sibuk , raja bukit , kiat-kiat , rangkaian jawaban . Tantangan harus memiliki batasan pada output yang valid.
- Tuliskan kiriman yang valid untuk tantangan, dalam bahasa gratis yang ditemukan di Wikipedia atau esolangs.org atau tryitonline . Pengajuan tidak harus kompetitif, hanya valid. EDIT: Hashing dalam kiriman Anda tidak diperbolehkan
- Posting pengajuan di sini, menjaga rahasia tantangan . Anda harus memposting seluruh kiriman, serta bahasa (dan versi, jika berlaku).
Setelah seminggu, jika tidak ada yang menemukan tantangan yang Anda jawab, Anda dapat memposting tantangan yang diajukan oleh kiriman Anda, pada titik mana, kiriman Anda aman . Nilainya bernilai N poin, di mana N adalah jumlah upvote pada tantangan (per 2016-11-17 ) (Lebih tinggi lebih baik)
Untuk memecahkan tantangan Anda, seorang perampok perlu menemukan tantangan apa pun yang diajukan untuk pengiriman.
Catatan:
- Jika sebuah tantangan membutuhkan output
X
, dan Anda menampilkanXY
atau diYX
manaY
selain spasi, pengajuan tidak valid untuk tantangan itu. - Tantangan yang lebih baru dari 2016-11-17 tidak diperbolehkan.
- Bahasa yang lebih baru dari tantangan tersembunyi diizinkan.
- Saya berhak untuk melarang tantangan tertentu jika mereka dapat diterapkan secara luas (dapat diterapkan ke sebagian besar semua pengajuan).
- Terima kasih kepada Daniel untuk ide awalnya!
Pengajuan Tidak Rusak:
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 100357;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
cops-and-robbers
obfuscation
Nathan Merrill
sumber
sumber
Jawaban:
Pip , 9 byte ( aman , 15 poin)
Apa yang dilakukannya harus mudah diketahui, tetapi pertanyaannya adalah mengapa ... ( TIO )
Tantangannya adalah Apa Bahasanya? Tujuannya: parsing nama bahasa pemrograman dari header jawaban PPCG. Misalnya:
Saya tidak yakin apakah ini bertentangan dengan "Tantangan harus memiliki batasan pada output yang valid," karena ini merupakan tantangan tes-baterai yang dinilai oleh "persen dari tes yang Anda lakukan dengan benar," dan dengan demikian tidak mengharuskan output menjadi benar. untuk semua input. Namun, saya akan mengatakan bahwa kode di atas mendapat sekitar tingkat yang benar 60%, yang tidak buruk untuk sesuatu yang sangat sederhana.
sumber
ht:w"\w+"1
/@:w"\w+"1 1
, yang mengecilkan kehtcw
/htcz
jika hanya spasi putih, tetapi tidak ada yang muncul hasil apa pun. Ini juga akan dapat menarik menit dari format HH: mm: dd, atau mengekstrak nama variabel dari deklarasi gaya-C, atau angka setelah titik desimal. Tapi saya tidak dapat menemukan pertanyaan yang menanyakan hal-hal itu ...: /Perl - Retak oleh DLosc
Mari kita berikan yang mudah untuk orang-orang non-esolang
Jalankan dengan
-nl
Tantangan: Pemeriksa Palindrome Nyaman
Kode crash setelah mencetak truthiness, tapi menurut ini meta posting, asalkan menghasilkan output yang benar sebelum crash, dan kesalahan adalah output ke stderr, itu solusi yang valid.
sumber
Hexagony , 548 bytes, Retak
Cobalah online!
sumber
.
diperlukan oleh tantangan itu.)Perl, aman , 18 poin
Sunting : Saya memodifikasi akhir kode (lihat histori edit) untuk menangani kasus tepi (tantangannya tidak mengatakan apa-apa tentang itu, dan penulis tidak menjawab ketika ditanya tentang hal itu, tetapi setidaknya kode ini menanganinya) . Tetapi algoritma dan logika kode tetap sama.
Kode ini tidak dikaburkan (hanya golf). (Ini menyiratkan bahwa
-n0E
itu bukan opsional).Saya tidak menyadari apakah ini sulit atau tidak, tapi saya kira saya akan diperbaiki ketika seseorang memecahkannya.
Penjelasan:
Tantangannya adalah Dapatkah labirin dipecahkan? .
Kode ini akan menemukan setiap sel yang dapat dijangkau dari labirin (dan menandainya dengan a
A
): jika sel menyentuh sel yang ditandai denganA
, maka itu dapat dijangkau dan kami menandainya denganA
juga; dan kami melakukannya lagi (redo
). Itu dilakukan berkat dua regex:s/(^0|A)(.{@{+}})?0/A$2A/s
memeriksa apakah ada ruang di kanan atau di bawahA
, sementaras/0(.{@{+}})?A/A$1A/s
memeriksa apakah ada ruang di kiri atau di atas aA
. Pada akhirnya, jika sel terakhir berisiA
itu dapat dijangkau, jika tidak maka (itu yangsay/A$/+0
memeriksa;+0
ada di sini untuk memastikan hasilnya akan0
atau1
bukan string kosong dan1
).Perhatikan bahwa
/.*/
akan cocok dengan seluruh baris, dengan demikian pengaturan@+
ke indeks akhir baris pertama, yang merupakan ukuran garis, yang memungkinkan penggunaan.{@{+}}
untuk mencocokkan dengan karakter yang persis sama dengan jumlah yang ada pada sebuah garis. (@{+}
setara dengan@+
, tetapi hanya yang pertama yang dapat digunakan dalam regex)Untuk menjalankannya:
(dan jika Anda mengganti
1111011
baris dengan1111111
, itu tidak bisa dipecahkan lagi, dan hasilnya akan menjadi0
bukan1
)sumber
Perl, 56 byte, Aman (14 poin)
Tantangannya adalah yang satu ini , mengharuskan Anda untuk membuat algoritma yang berbeda; Anda harus dapat memasukkan dua file dan mengeluarkan diff, atau memasukkan file dan diff serta menampilkan file lainnya. Skor tantangan itu adalah tantangan kode , menjadikan perbedaan terkecil sebagai pemenang; Namun, ini tantangan tidak memerlukan jawaban untuk menjadi kompetitif, hanya sesuai dengan spec, jadi saya menulis sebuah program diffing dengan cara golfed sebagai gantinya, yang hanya menggunakan XOR untuk menggabungkan input (yang berarti bahwa program yang sama bekerja untuk diffing dan un-diffing).
Bagian tersulit adalah mereproduksi panjang file asli. Input ditentukan sebagai ASCII, yang merupakan set karakter tujuh-bit, sehingga memungkinkan saya untuk menggunakan bit kedelapan untuk melacak panjang file. Saat melakukan diffing, kami mengatur bit tinggi setiap byte menggunakan
y///
instruksi (yang sedikit lebih dikaburkan daripada aritmatika bitwise). Ketika un-diffing (dikenali melalui pemberitahuan bahwa input sudah memiliki set bit tinggi), kami menghapus NUL dari output. (Saya baru sadar bahwa ini akan gagal jika inputnya berisi byte NUL; namun, tantangannya didefinisikan dalam hal baterai tes, dan untungnya saya tidak berpikir ada byte NUL dalam baterai. Jika ada, maka program ini akan salah dan perlu didiskualifikasi, masalah dengan polisi dan perampok adalah bahwa tidak ada orang lain yang memiliki informasi yang cukup untuk menunjukkan kekurangan jawaban Anda dengan mudah!)sumber
Oktaf, 15 poin! AMAN
Cobalah online di sini .
Penjelasan:
Kode mengambil string input yang
x
berisi satu dan nol,10010110110101
dan integery
.Untuk menemukan rata-rata bergerak dari suatu urutan dalam MATLAB / Oktaf Anda dapat lakukan:
Karena kami hanya tertarik pada lokasi maksimum, bukan nilai aktual, kami tidak perlu peduli untuk mengubah string menjadi angka.
(x.^2)
kuadratkan semua nilai ASCII48,49
untuk0,1
. Ini diperlukan karena Oktaf tidak dapat digunakancumsum
secara langsung pada karakter.cumsum(+x)
akan dua byte lebih pendek tetapi akan mengungkapkan itux
adalah string.Ini sebenarnya golf yang cukup baik (kecuali untuk
.^2
bukan+
). Tentu saja, belokan akan lebih sederhana.sumber
MATL . Retak
Cobalah online!
Saya menunjukkan input dan output bahkan jika itu tidak perlu. Karena ini masih dalam riwayat sunting: program memasukkan dua angka dan menghasilkan satu angka.
sumber
C #, 590 byte, Retak
Mungkin cukup mudah, juga program yang cukup panjang, _,
sumber
Func<string, int, string>
. Sepertinya itu beberapa keyboard cipher. Param angka adalah berapa banyak karakter untuk bergeser ke kanan pada keyboard (yaitu-("t",1)
=y
).05AB1E , 27 byte, sudah retak!
Untuk pengiriman ini, input juga diperlukan agar bisa berfungsi. Seharusnya tidak terlalu sulit untuk retak.
Penjelasan (untuk tantangan):
Menggunakan pengkodean CP-1252 . Cobalah online!
sumber
아희 (Aheui) , 0 byte, Retak
Coba di sini! (Program ini sudah diketikkan untuk Anda: p)
sumber
Python, 935 Bytes
Maaf saya menggunakan obfuscator, tetapi tidak dilarang dan lebih mudah. (Dan aku tidak punya waktu untuk melakukannya sendiri ...)
sumber
9**99
tanpa mencetak apa pun (Juga butuh waktu lama untuk melakukannya)Ruby ( dipecahkan oleh DLosc )
sumber
p
ketika saya menyalin kode. Retak , lalu.MATL . Aman , 93 poin
Cobalah online!
Penjelasan
Tantangannya adalah kode sumber jejak ekologis .
Kode menghitung berat Hamming (jumlah yang) dalam representasi biner dari kode ASCII dari string input; kecuali bahwa string
test
menghasilkan0
(bukan beratnya Hamming, yaitu17
).Casing khusus dari string itu agak dikaburkan. Program pertama menghitung array perbedaan berturut-turut dari kode ASCII dari input dan membalikkannya. Untuk
test
ini memberi[1 14 -15]
.Kemudian, array yang dibentuk oleh
n
kekuatan pertama14
dihitung ([1 14 196 ...]
), di manan
panjang input; dan nilai pertamafloor(n/2)
disimpan. Jadi untuk inputtest
ini memberi[1 14]
. Jumlah yang dinegasikan ditambahkan ke array ini, yang memberikan[1 14 -15]
inputtest
. Ini diuji untuk kesetaraan dengan array terbalik dari perbedaan berurutan yang sebelumnya diperoleh.Di sisi lain, jumlah kode ASCII dari karakter input dihitung dan dibandingkan dengan
448
, dihasilkan sebagai (berturut-turut) perbedaan elemen dalam array[2^6 2^9]
(di mana^
menunjukkan daya).Input
test
adalah satu-satunya string dengan perbedaan berturut-turut dari bentuk[1 14 -15]
dan jumlah448
. Perbedaan[]
atau[1]
(untuk string inoyt pendek) tidak kompatibel dengan jumlah total448
. Perbedaan[1 14 196]
atau lebih besar tidak dapat dicapai dengan karakter ASCII.Kode memeriksa apakah hasil pengujian untuk kondisi pertama (perbedaan berurutan) tidak lebih kecil dari hasil yang dinegasikan dari kondisi kedua (jumlah total). Ini memberi
0
jika dan hanya jika kedua kondisi terpenuhi. Akhirnya, ini dikalikan dengan jumlah yang dalam representasi biner dari kode ASCII input.sumber
CJam ( aman , 21 poin)
Ini adalah blok anonim (fungsi).
sumber
Python 3, ~ 2000 byte, (aman: 23 poin)
Program Asli
Tantangan
Ini sebenarnya jawaban untuk tantangan saya sendiri, Primenary Strings . Saya memilih ini karena hampir semuanya akan keluar
0
, terlepas dari beberapa input yang tidak mungkin dimasuki perampok. Kode tersebut adalah algoritma sederhana, tetapi sangat dikaburkan (dengan tangan).sumber
Pip , 13 byte
Cobalah online (berikan input sebagai Argumen, bukan Input).
sumber
JavaScript, 533 bytes, Retak! oleh Dave
Bukan kebingungan favorit saya, tapi agak rapi. Sebut sebagai
RESULT(inputs)
.Saya mungkin memberikan hadiah poin +50 jika Anda menjelaskan secara rinci apa yang dilakukan kode saya bersama dengan celah Anda. (Mereka tidak harus bersama, jadi silakan FGITW jika itu sesuai dengan keinginan Anda.)
sumber
Pyke, 3458 bytes, SAFE , skor 99
Coba di sini!
Ada beberapa (30)
0x1b
byte yang tampaknya telah dimakan oleh SE.sumber
Oktaf, 40 poin. AMAN
Jawaban sedikit membingungkan untuk tantangan yang cukup populer.
Saya merekomendasikan pengujian ini pada oktaf-online . Ideone tidak begitu bagus dalam hal STDIN.
Ini adalah tantangan simulator tuas 2015. Masukan pada formulir
'123^32
. Output akan-1 0 1
untuk Kiri-berat, Seimbang dan Kanan-berat dalam urutan itu.Ini terlihat seperti ini ketika golf sepenuhnya :
Ini menghasilkan
-Inf, NaN, Inf
untuk L, B, R masing-masing.sumber
Haskell, AMAN
Cobalah di Ideone . "Pemakaian":
Dalam tantangan Shenanigans satu diberikan string dan dua karakter dan kemudian harus mengganti setiap kemunculan char pertama dengan yang kedua. Namun, input adalah satu string yang hanya berisi string aktual dalam tanda kutip dan dua karakter yang dipisahkan spasi:
sumber
TeX, 240 byte, AMAN , skor 129
Simpan sebagai
jeopardy.tex
, lalu jalankanpdftex jeopardy.tex
dan bukajeopardy.pdf
.Hasil: PDF dengan teks
N
(dan nomor halaman 1).sumber
Python 3, Retak!
Menulis ini lucu, meskipun pada akhirnya mudah dipecahkan :)
sumber
(sum([x%4<1 for x in range(min(D),max(D))]))
Pyth - Cracked oleh Maltysen
Jika itu membantu, Pyth bukanlah jawaban untuk tantangan tersembunyi.
Cobalah!
sumber
C #, 91 byte
sumber
Mathematica, 161 byte
sumber
BrainFuck - 140 Bytes, Retak oleh daHugLenny
Coba Di Sini!
sumber
C ++ 14, Retak
Mengambil sejumlah parameter dan mengembalikan a
vector<int>
.Pemakaian:
sumber
g++
dan jika versi Anda tidak setidaknya6.2
atau sesuatu yang Anda butuhkan-std=c++14
Mathematica, 34 byte, Retak
Bernama fungsi (
±
).sumber
Ruby, 50 byte
keluaran:
400
sumber
Python 2.7, 45 byte
Petunjuk (atau mungkin tidak): "ikan menggunakan numpy."
2016.11.23 - petunjuk kedua: "Jangan biarkan apa pun melayang!"
sumber