Dalam tantangan ini, kami bersama-sama akan membuat pencarian kata yang berisi banyak program dalam berbagai bahasa.
Saya telah memulai kami dengan kotak 60-oleh-25 kosong ( ·
), beberapa di antaranya digantikan oleh karakter program Ruby.
Untuk menjawab, pilih bahasa yang belum digunakan. Dengan menggunakan bahasa yang Anda pilih, tulis sebuah program yang membaca karakter, token, baris, atau semua input dari konsol, dan cetaklah . Kemudian, masukkan program Anda ke dalam pencarian kata.
Misalnya, Anda memilih Python 3 untuk jawaban Anda, dan menulis programnya print(input())
. Sekarang Anda harus memasukkan program itu ke dalam kisi.
Jika kotak sebelum jawaban Anda terlihat seperti ini:
···a·24··········
··z····t·········
Kemudian Anda bisa meletakkan program Anda di baris kedua, tumpang tindih dengan yang sudah ada t
:
···a·24··········
··zprint(input())
Perhatikan bahwa Anda dapat menempatkan program Anda ke segala arah: maju, mundur, naik, turun, atau diagonal, selama itu berada dalam garis lurus.
Tetapi bagaimana jika grid yang ada terlihat seperti ini:
···a·24··········
··z····q·········
Tidak ada cara untuk menyesuaikan di print(input())
sini tanpa mengubah karakter yang ada, yang dilarang. Sebagai gantinya, Anda dapat mengubah program:
print(
input())
Program dua baris ini sangat pas:
···a·24·print(···
··z····q input())
Di sini Anda mengganti kosong ( ·
) dengan spasi (
). Namun, ruang sama seperti karakter lainnya, dan tidak dapat ditimpa dalam program mendatang.
Sama seperti one-liner, program multi-line dapat ditempatkan ke segala arah. Misalnya, dalam kisi yang lebih besar, Anda dapat melakukan hal berikut, dengan memutar program 135 ° searah jarum jam.
··········
········ ·
·······i·p
······n·r·
·····p·i··
····u·n···
···t·t····
··(·(·····
·)········
)·········
Mencetak gol
Skor Anda untuk setiap jawaban adalah tiga puluh dibagi dengan jumlah karakter yang ditambahkan. Jangan hitung karakter yang sudah ada di kisi, bahkan jika Anda menggunakannya sendiri.
Skor total Anda adalah jumlah skor untuk semua jawaban Anda, dikalikan dengan jumlah jawaban. Kemenangan skor tertinggi.
Aturan
- Setiap jawaban harus ditulis dalam bahasa yang berbeda. Bahasa yang hanya berbeda dalam nomor versi (mis., Python 2 dan Python 3) dianggap sama.
- Setiap jawaban harus dibangun dari jawaban valid terbaru. Yaitu, ambil kisi jawaban yang paling baru, dan masukkan program Anda ke dalamnya.
- Untuk memasukkan program Anda, ganti setidaknya satu dari yang kosong (
·
) dengan karakter pilihan Anda. Anda dapat menggunakan karakter yang ada dari kotak di jawaban Anda, tetapi Anda tidak dapat mengubah atau memindahkan salah satu dari mereka.
- Anda tidak boleh memasukkan total lebih dari 500 karakter, di seluruh jawaban Anda.
- Semua karakter yang Anda masukkan harus menjadi bagian dari program Anda.
- Program Anda mungkin hanya terdiri dari ASCII dan baris baru yang dapat dicetak, tetapi mungkin tidak ada dua atau lebih baris baru berturut-turut secara berurutan.
- Baris baru tidak dihitung terhadap skor Anda.
- Diperlukan program lengkap, bukan hanya fungsi atau cuplikan.
- Pengguna yang sama tidak boleh menulis dua jawaban berurutan.
- Jika jawaban seseorang melanggar aturan, tinggalkan komentar. Jika kesalahan tidak diperbaiki dalam 30 menit, itu harus dihapus.
Cuplikan bahasa yang digunakan
Ini adalah Cuplikan Stack, yang dibuat oleh produk ETH, FryAmTheEggman, dan Mauris, yang melacak skor pengguna dan bahasa yang digunakan. Awalnya disalin dari template menakjubkan Martin Büttner .
Papan peringkat asli:
function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,r){return"http://api.stackexchange.com/2.2/answers/"+r.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var r=+e.share_link.match(/\d+/);answer_ids.push(r),answers_hash[r]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[],r={},x={};answers.forEach(function(s){var a=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(a="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var n=a.match(SCORE_REG);if(n){var t=getAuthorName(s);e.push({user:getAuthorName(s),size:+n[2],language:n[1],link:s.share_link}),r[t]=r[t]||0,r[t]+=30/+n[2],x[t]=x[t]||0,x[t]++}});Object.keys(r).forEach(function(e){r[e]*=x[e]});var s=Object.keys(r).sort(function(e,s){return r[s]-r[e]});e.sort(function(e,r){var s=e.size,a=r.size;return s-a});var a={},t=null;e.forEach(function(e){t=e.size;var r=e.language;/<a/.test(r)&&(r=jQuery(r).text()),a[r]=a[r]||{lang:e.language,user:e.user,size:e.size,link:e.link}});for(var c=0,o=1;c<s.length;c++){var i=jQuery("#author-template").html();r[s[c]]!==r[s[c-1]]&&(o=c+1);i=i.replace("{{PLACE}}",o+'.').replace("{{NAME}}",s[c]).replace("{{SCORE}}",r[s[c]].toFixed(2)),jQuery("#authors").append(jQuery(i))}var u=[];for(var m in a)a.hasOwnProperty(m)&&u.push(a[m]);u.sort(function(e,r){var s=e.lang.replace(/<.*?>/g,"").toLowerCase(),a=r.lang.replace(/<.*?>/g,"").toLowerCase();return s>a?1:a>s?-1:0});for(var l=0;l<u.length;++l){var h=jQuery("#language-template").html(),m=u[l];h=h.replace("{{LANGUAGE}}",m.lang).replace("{{NAME}}",m.user).replace("{{SIZE}}",m.size).replace("{{LINK}}",m.link),h=jQuery(h),jQuery("#languages").append(h)}}var QUESTION_ID=57327,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=16294,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#author-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="author-list"> <h2>Leaderboard</h2> <table class="author-list"> <thead> <tr><td></td><td>Author</td><td>Score</td></tr></thead> <tbody id="authors"> </tbody> </table> </div><div id="language-list"> <h2>Languages</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="author-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{SCORE}}</td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Versi baru (percobaan), menggunakan rumus yang dimodifikasi:
function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,r){return"http://api.stackexchange.com/2.2/answers/"+r.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var r=+e.share_link.match(/\d+/);answer_ids.push(r),answers_hash[r]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[],r={},x={};answers.forEach(function(s){var a=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(a="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var n=a.match(SCORE_REG);if(n){var t=getAuthorName(s);e.push({user:getAuthorName(s),size:+n[2],language:n[1],link:s.share_link}),r[t]=r[t]||0,r[t]+=30/+n[2]+20,x[t]=x[t]||0,x[t]++}});var s=Object.keys(r).sort(function(e,s){return r[s]-r[e]});e.sort(function(e,r){var s=e.size,a=r.size;return s-a});var a={},t=null;e.forEach(function(e){t=e.size;var r=e.language;/<a/.test(r)&&(r=jQuery(r).text()),a[r]=a[r]||{lang:e.language,user:e.user,size:e.size,link:e.link}});for(var c=0,o=1;c<s.length;c++){var i=jQuery("#author-template").html();r[s[c]]!==r[s[c-1]]&&(o=c+1);i=i.replace("{{PLACE}}",o+'.').replace("{{NAME}}",s[c]).replace("{{SCORE}}",r[s[c]].toFixed(2)),jQuery("#authors").append(jQuery(i))}var u=[];for(var m in a)a.hasOwnProperty(m)&&u.push(a[m]);u.sort(function(e,r){var s=e.lang.replace(/<.*?>/g,"").toLowerCase(),a=r.lang.replace(/<.*?>/g,"").toLowerCase();return s>a?1:a>s?-1:0});for(var l=0;l<u.length;++l){var h=jQuery("#language-template").html(),m=u[l];h=h.replace("{{LANGUAGE}}",m.lang).replace("{{NAME}}",m.user).replace("{{SIZE}}",m.size).replace("{{LINK}}",m.link),h=jQuery(h),jQuery("#languages").append(h)}}var QUESTION_ID=57327,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=16294,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#author-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="author-list"> <h2>Leaderboard</h2> <table class="author-list"> <thead> <tr><td></td><td>Author</td><td>Score</td></tr></thead> <tbody id="authors"> </tbody> </table> </div><div id="language-list"> <h2>Languages</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="author-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{SCORE}}</td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Untuk memastikan kiriman Anda dikenali oleh cuplikan, harap gunakan templat tajuk berikut:
# Language, X characters added
Jawaban:
Java, 124 karakter ditambahkan
Sementara masih ada ruang!
Gridnya sekarang
Membuat edit ninja dan membalikkan kode dalam kisi, karena OP menyatakan kodenya bisa mundur. Kemudian pasang kembali ke jawaban berikutnya
sumber
Mumps, 23 karakter ditambahkan
Maaf lagi karena kehilangan satu persyaratan dalam pertanyaan.
inilah kiriman baru saya:
Ini menetapkan variabel t menjadi spasi, kemudian membaca paling banyak 50 karakter dari input standar dengan batas waktu 20 detik menulis baris baru, variabel, lalu baris baru lainnya. (Banyak terminal gondong jadi agak berantakan jika Anda tidak melakukan itu ...)
Grid sekarang:
bahwa penyerahan R terkutuk membuat ini sedikit sulit untuk menulis ... :-)
sumber
Beatnik , 29 karakter ditambahkan
Penjelasan datang :)
Grid baru
sumber
C, 27 karakter ditambahkan
Seseorang menyebut C, dan saya melihat itu masih mungkin.
Grid baru:
sumber
??? , 1 karakter ditambahkan
Grid sekarang:
sumber
Mm , 3 karakter ditambahkan
Kisi baru:
sumber
Ruby, 9 karakter ditambahkan
Grid sekarang:
sumber
LISP, 3 karakter ditambahkan
Kisi baru:
sumber
Perl, 6 karakter ditambahkan
Grid sekarang:
sumber
Quipu , 3 karakter ditambahkan
Program kucing di Quipu adalah empat karakter:
Saya memutar 90 ° ini dan menggunakan kembali salah satu garis miring dari program Rail .
Kisi baru:
sumber
Marbelous , 7 karakter ditambahkan
(Jika saya mengerti benar bagaimana cara kerja Marbelous ...)
sumber
00\n]]
pasti akan melakukannya juga.Pyth, 1 karakter ditambahkan
Grid sekarang:
sumber
w__t_
Saya melihat apa yang Anda lakukan di sanaPowerShell, 14 karakter ditambahkan
Saya akan bersikap baik dan memberi orang lebih banyak ruang untuk bernafas. :)
Gridnya sekarang
sumber
ALGOL 68, 7 karakter ditambahkan
Kisi baru:
sumber
LOLCODE , 31 Karakter Ditambahkan
Hanya di sebelah kanan dari tengah, diputar 90 o . Butted baik melawan
-
,dan
d
di sana. Antara ini, file Batch, dan PowerShell, saya cukup yakin saya tidak akan menang berdasarkan poin. :-)Grid sekarang:
(Saya juga memperbaiki baris keempat dari bawah)
sumber
Prolog (SWI), 14 karakter ditambahkan
Membaca satu karakter dan mengeluarkannya. Di Ideone, ini berfungsi tetapi dengan output ke stderr. Dengan
swipl
di Ubuntu, ia melakukan hal berikut:di mana
X
karakter dimasukkan dan?-
prompt. Anda bisa keluar dari prompt dengan Ctrl-D.Kisi baru (kode bertuliskan atas-ke-bawah, kanan-ke-kiri dekat sudut kanan atas):
sumber
oOo CODE , 1 karakter ditambahkan
Grid baru:
sumber
Labyrinth , 1 karakter ditambahkan
Membaca dan menulis karakter.
Gridnya sekarang
sumber
Balok, 11 karakter ditambahkan
H tambahan ditambahkan untuk menghentikannya berperilaku seperti program kucing. The
q
dani
diabaikan. Saya mungkin bisa menjadi lebih besar dengan ini, tapi itu sepertinya agak curang.Gridnya sekarang
sumber
ferNANDo , 31 karakter ditambahkan
Kisi baru:
sumber
Skema, 8 karakter ditambahkan
Kisi baru:
sumber
Bash, 6 karakter ditambahkan
Grid sekarang:
sumber
itflabtijtslwi , 5 karakter ditambahkan
Ini adalah bahasa /// tetapi dengan input pengguna saat dikelilingi oleh
GG
. Itu "dinamai" apa pun yang datang di antara mereka. Karenanya ini hanya menggemakan karakter pertama STDIN. (Karena ini hanya membaca 1 karakter, nama 2 karakter berarti itu akan selalu berhenti setelah mengganti Oa dengan apa yang Anda ketik)Ditambahkan ke kiri atas secara vertikal dari (melintasi, bawah) = (0,1) hingga (0,9)
Kisi baru:
sumber
GOa
! +1PHP, 24 karakter ditambahkan
Grid sekarang:
sumber
var_dump($argv);
. Anda dapat menggunakanprint_r($args)
dan menyimpan 1 byte.Retina , 1 karakter ditambahkan
Ini pada dasarnya
cat
.G
mengaktifkan mode grep, yaitu program mencetak setiap baris program yang cocok dengan regex yang diberikan. Tetapi regex kosong, jadi setiap baris cocok dan seluruh input dicetak kembali ke STDOUT.sumber
RunR , 8 karakter ditambahkan
Yang terakhir untuk saat ini
Ditambahkan dekat ke tengah, ke bawah dan ke kiri sedikit. Grid baru adalah
sumber
Mathematica, 19 karakter ditambahkan
Grid baru:
sumber
Haskell, 16 karakter ditambahkan
Salinan stdin ke stdout. Kode dimulai pada baris 15, char 39.
sumber
Ook! , 19 karakter ditambahkan
Ditempatkan pada baris ke-24.
sumber
Oktaf / Matlab, 23 karakter ditambahkan
Bisakah kita mendapatkan C? : D
Grid sekarang:
sumber