Utas Perampok
Dalam tantangan ini, tujuan Anda adalah untuk memecahkan beberapa kode yang ditulis oleh Polisi (kode mereka ada di sini ) dengan memodifikasinya. Anda telah memecahkan kode mereka jika:
- Kode Anda yang dimodifikasi memiliki jarak levenshtein maksimum 10 dari kode mereka, dan memiliki lebih sedikit karakter
- Fungsi, diberi input yang valid yang sama, akan menghasilkan output yang sama dalam bahasa yang sama dari versi yang sama
- Anda memposting versi modifikasi Anda dalam 168 jam (1 minggu) dari posting asli.
Kode Anda yang dimodifikasi hanya harus memiliki ASCII yang dapat dicetak.
Setelah mem-posting versi yang retak, Anda harus meninggalkan komentar di kode asli yang mengatakan bahwa itu telah dipecahkan dengan tautan ke crack Anda.
Skor Anda adalah total jarak Levenshtien di antara semua jawaban Anda. Kemenangan skor tertinggi.
Utas Polisi yang menyertainya dapat ditemukan di sini .
primes
code-bowling
cops-and-robbers
Nathan Merrill
sumber
sumber
Jawaban:
Python 3, 9500 hingga 9499, oleh Sp3000, jarak 10
Asli
Diubah
Mengubah
\\
ke\
, dan memindahkan beberapa karakter acak untuk mendapatkan skor yang lebih baik.sumber
Asli oleh bitpwner, Python, 5199
Versi Modifikasi Python, 5198 Levenshtein Jarak 2 :
Digantikan
'zlib'
dengan alias lebih pendek'zip'
.sumber
User23013 CJam 7531 asli
Versi modifikasi CJam 7526 Jarak 10
Diganti 5
\"
denganN
sumber
Nuuuq
lebih baik, yang menghilangkan 5 string kosong di tumpukan.CJam, 6768, oleh pengguna23013, jarak 10
Asli
Diubah
Saya harus mengatakan bahwa ide di balik kode asli sangat bagus. Buat fungsi hashing di mana setiap karakter bergantung pada hasil modifikasi sebelumnya. Ini membuat tidak mungkin melepas salah satu karakter di dalam string. Paling-paling, Anda dapat mulai menghapus karakter dari ujung. Tetapi mulai melepas karakter dari kode pencetakan utama yang sebenarnya.
Satu-satunya yang terlewatkan oleh @ user23013 adalah kode unhashing masih bisa di-golf: D.
Saya cukup yakin bahwa jika jawaban saya yang retak adalah pengiriman yang sebenarnya, tidak mungkin untuk memecahkannya.
sumber
PHP dengan Tryth, jarak 10
Asli (3337):
Diubah (3329):
Selain menghapus 8 karakter secara langsung, saya bertukar tanda kutip tunggal untuk tanda kutip ganda untuk meningkatkan Levenshtein sebesar 2.
sumber
Asli oleh MickyT- R, 2496
Versi Dimodifikasi R, 2492 Levenshtein Jarak 9 :
Diganti
sqrt(1e8)
dengan nilai literal10000
.sumber
Asli oleh Yimin Rong (PHP):
Versi yang dimodifikasi:
Dihapus
$N--,
.Diubah
$N>0
menjadi$N-->0
.Kemudian ubah semua instance
$N
menjadi$M
.Jarak 9 .
Ini berfungsi untuk nilai negatif.
sumber
Asli oleh Pengoptimal, CJam, 816
Versi Dimodifikasi CJam, 815 Levenshtein Jarak 10
Diubah
04703657K)_#b:c~
menjadi4e7K)_#b:cW';t~
.sumber
:c);~;
Jawa, 6193 oleh Geobits, Jarak 10
Asli:
Diubah:
Mungkin lain kali teman saya;)
sumber
Mathematica, oleh Pengoptimal, 21 hingga 18, jarak 10
dari
untuk
sumber
Python 3, 9302 hingga 9301, oleh Sp3000, jarak 10
Asli
Diubah
sumber
Asli oleh Timtech - TI-BASIC, 4513
Versi Dimodifikasi TI-BASIC, 4505 Levenshtein Jarak 10 :
Saya mengubah panjang tali dan pembagi
sumber
Asli oleh Brandon C # 233 :
Versi modifikasi C # 231 Levenshtein Jarak 10 :
Mengubah nama variabel untuk mencapai jarak 10 untuk aturan pemberian skor baru.
Versi modifikasi C # 231 Levenshtein Jarak 2 :sumber
for
loop saya ??C #, Shawn Holzworth (161) , jarak 10
Saya menggunakan trik golf standar untuk menghapus satu karakter: shorting
2*n+1
ton-~n
.sumber
Java 8, 1785, oleh TheBestOne, jarak 10
Asli
Diubah
Nama metode
primes
->p
. Tidak menyentuh kode byte, lol.sumber
PHP, 73, oleh Yimin Rong, jarak 10
Asli
Diubah
Dihapus
gmp_strval
, karenaGMP
objek mengimplementasikanSerializable
antarmuka. Demo di ideone .sumber
Matlab, dengan flawr, jarak 10
Asli
Versi modifikasi
Menghapus satu spasi dari indentasi di baris 3 (1 penghapusan). Berubah
char(101)
menjadichar(98)
(2 substitusi, 1 penghapusan) dan mengubah jumlah dari 941 menjadi 0 (1 substitusi dan 2 penghapusan). Menghapus 3 spasi dari indentasi baris 4 (3 kepindahan).Jarak 10 .
(Perhatikan bahwa saya pikir 941 dalam kode flawr harus 1873, dalam hal ini saya tidak dapat menghapus banyak ruang indentasi, tetapi saya dapat menjaga jarak Levenshtein yang sama).
sumber
e
dalam kode sumber asli saya yang seharusnya sama dengan 941 di sini. (A prima =))15 29 49 51 60 64 76 78 86 100 126 128 137 141 179 187 191 195
.CJam, 844 hingga 841, oleh Pengoptimal, jarak 10
Asli
Diubah
sumber
1225469401974
diubah menjadi1225469408974
.Java, TheBestOne, 485, jarak 10
Saya baru saja menghapus dua pasang kurung sudut kosong yang tidak perlu. Yang lucu adalah bahkan tidak akan mengkompilasi bagi saya dengan mereka.
sumber
CJam, 847 hingga 846, oleh Pengoptimal, jarak 10
Asli
Diubah
sumber
CJam, oleh Pengoptimal, 24 hingga 22, jarak 10
Dari
untuk
sumber
Java, 328, oleh TheBestOne, jarak 10
Asli
Diubah
Ubah regex
"^1?$|^(11+?)\\1+$"
ke"^(11+)\\1+$"
(6 pemindahan), dan anggap input ke fungsi tes utama setidaknya 2 (2 tambahan, 1 swap). Dimodifikasi nomor mulai untuk menguji darii = 0
kei = 1
(karena fungsi utama dipanggil olehb(++i)
, jadii
harus mulai dari 1) (1 swap).sumber
Total Skor: 10
Jawaban asli oleh TheBestOne:
Dimodifikasi dengan jarak 10:
Jawaban asli oleh Yimin Rong:
Dimodifikasi dengan jarak 10:
David mungkin telah mengalahkan saya dengan yang ini:Jawaban asli oleh flawr:
Dimodifikasi dengan jarak 10:
Sunting: David mengalahkan saya untuk itu.
Jawaban asli oleh Yimin Rong:Dimodifikasi dengan jarak 10:
Dengan sistem penilaian yang lama, ini akan memberi saya 10,7.
Sunting: Aturan terus berubah. Saya pikir ini tidak masuk hitungan sekarang.sumber
Java, 6193, oleh Geobits, jarak 10Non-bersaing, karena saya terlalu lambat dalam mengedit. Biarkan di sini untuk referensi.
Diubah
Untuk menunjukkan apa yang sebenarnya dilakukan, bagian kode ini:
ditransformasikan menjadi ini:
Jika Anda menyelaraskan data dengan benar, Anda bisa lolos dengan sebagian besar swap.
(
di depan;
untuk)
/*
dan 2 karakter dari akhir dengan*/
.*/
.Panjang delta adalah -3.
sumber