Bu bir polis ve soyguncular mücadelesinin bir parçası . Soyguncular bölümü için buraya gidin .
Polislerin Mücadelesi
Dizeyi çıkaran, seçtiğiniz bir dilde bir program veya işlev yazmalısınız Haystack
. Bununla birlikte, bazı karakter alt kümelerini programınızdan kaldırmak (geri kalanını yeniden düzenlemeksizin) mümkün olmalıdır, böylece sonuçta elde edilen dize aynı zamandaNeedle
bunun yerine basılan geçerli bir programdır . Her iki program / işlev isteğe bağlı olarak tek bir izleyen yeni satır (birbirinden bağımsız olarak) yazdırabilir, ancak başka bir şey yazmaz. Çıktı büyük / küçük harf duyarlıdır ve sağlanan tam kasayı izlemelidir.
Amacınız elbette "iğneyi" çok iyi gizlemektir. Ama teslim ile kırık olabilir notu o herhangi geçerli çözümü değil, sadece bir amaçladığınız.
Lütfen cevabınıza ekleyin:
- Gönderiminizin dili (ve varsa sürümü).
- Haystack programının bayt cinsinden boyutu.
- Haystack programının kendisi.
- STDOUT değilse çıkış yöntemi.
- Mümkünse, seçtiğiniz dil için çevrimiçi bir tercüman / derleyici bağlantısı.
Gönderiniz bir program veya işlev olabilir, ancak bir snippet olmayabilir ve bir REPL ortamı üstlenmemelisiniz. Herhangi bir giriş yapmamalısınız ve STDOUT, fonksiyon dönüş değeri veya function (out) parametresi üzerinden çıkış alabilirsiniz.
Her iki program / işlev makul bir masaüstünde 5 saniye içerisinde tamamlanmalı ve deterministik olmalıdır. Bileşenleri karma, şifreleme veya rasgele sayı üretimi için kullanmamalısınız (rasgele sayı üretecini sabit bir değere yerleştirseniz bile).
Adalet için, seçtiğiniz dil için uygun bir tercüman veya derleyici bulunmalıdır.
İğne programı bulunursa bir cevap kırılır. Cevabınız 7 gün boyunca kırılmadıysa, cevabınızdaki istenen İğne programını açıklayarak, başvurunuzu güvenli kılar. Çözümünüzü açığa vurmazsanız, 7 gün geçse bile, yine de hırsızlar tarafından kırılabilir. En kısa güvenli Haystack programı (bayt olarak ölçülür) kazanır.
Örnekler
İşte farklı dillerde birkaç basit örnek:
Ruby
Haystack: puts 1>0?"Haystack":"Needle"
Delete: XXXXXXXXXXXXXXX
Needle: puts "Needle"
Python 2
Haystack: print "kcatsyaHeldeeN"[-7::-1]
Delete: XXXXXXXX XX
Needle: print "eldeeN"[::-1]
Kaldırılan karakterlerin alt kümesinin bitişik olması gerekmediğini unutmayın.
Uncracked Gönderiler
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 144600;</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>