タグ付けされた質問 「cops-and-robbers」

2つの敵対的(および非対称的)サブチャレンジで構成される課題の場合。

13
シークレットスワッピングシーケンスの解決
これは警官と強盗の挑戦です。警官のスレッドはこちらにあります。 これは強盗スレッドです。ここでの仕事は、警官スレッドで提出物を受け取り、隠されたシーケンスを見つけようとすることです。有効なクラックであるそのシーケンスを計算するために元のコードに置き換えることができるシーケンスを見つけた場合。クラックが発生したときに警官に通知して、回答を更新できるようにしてください。 得点 スコアは、成功したクラックの数であり、より多くのクラックが改善されます。

6
有理生成関数の係数を見つける
数値のシーケンスをべき級数の係数として記述する場合、そのべき級数はそのシーケンスの(通常の)生成関数(またはGf)と呼ばれます。つまり、ある関数F(x)と一連の整数a(n)について次のようになっている場合: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 次にF(x)はの生成関数ですa。たとえば、幾何級数は次のことを示しています。 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) したがって、の生成関数は1, 1, 1, ...です1/(1-x)。上記の式の両側を微分して乗算するxと、次の等式が得られます。 x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 したがって、の生成関数は1, 2, 3, ...ですx/(1-x)^2。関数の生成は非常に強力なツールであり、それらを使用して多くの便利なことができます。簡単な紹介はここにありますが、本当に徹底的な説明のために、素晴らしい本生成機能があります。 この課題では、入力として有理関数(整数係数を持つ2つの多項式の商)を、最初に分子、次に分母の2つの整数係数の配列として受け取ります。たとえば、関数f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

20
暗号ハッシュゴルフ(強盗)
このコンテストは終了しました。 警官のチャレンジには、クラック可能な答えは残っていません。 暗号ハッシュゴルフのコンパニオンスレッド 念のため、主な課題からの強盗のルールを以下に示します。 仕事 スレッドの強盗に次のように掲載することにより提出警官のいずれかをクラック:二つのメッセージMとNでIように H(M)= H(N)およびM≠N 。 得点 各警官の提出物をクラックすると、1ポイントが得られます。最も多くのポイントを持つ強盗が勝ちます。 同点の場合、最長の提出をクラックした縛られた強盗が勝ちます。 追加のルール すべての警官の提出は、一度しかクラックできません。 警官の提出が実装定義または未定義の動作に依存している場合、マシン上で(検証可能に)動作するクラックを見つけるだけで済みます。 各クラックは、強盗のスレッドの個別の回答に属します。 無効なクラッキングの試みを投稿すると、その特定のサブミッションを30分間クラッキングできなくなります。 あなた自身の提出物をクラックすることはできません。 例 Python 2.7、user8675309による22バイト 1 そして 18 リーダーボード eビジネス:クラック3回、393バイト MartinBüttner:クラック3回、299バイト jimmy23013:3つのクラック、161バイト Sp3000:3つのクラック、44バイト tucuxi:2つのクラック、239バイト Vi .:クラック2回、87バイト feersum:1クラック、216バイト mathmandan:1クラック、139バイト squeamish ossifrage:クラック1、134バイト

18
一意性からリバースエンジニアリング(強盗のスレッド)
警官のプログラム(o)、バイトカウント(n)およびc使用された一意のバイト数()の出力が与えられると、警官の出力に一致する一意のバイトをn持つバイト長の対応するコードをc見つけますo。 これは強盗スレッドです。ここでクラックしたソリューションを投稿してください。 COPSスレッドはここにあります。 強盗は次のような解決策を投稿する必要があります。 #[Language], `n` Bytes, `c` Unique Bytes (Cracked)[Original Link to Cop Thread] [Solution] (Explanation) ルール プログラムに入力を行うことはできません。 プログラムは少なくとも1バイトを使用する必要がありますが、255バイトを超えることはできません。 出力自体も255バイトに制限されています。 プログラムを複数回実行する場合、出力結果に一貫性が必要です。 提出物が7日以内にクラックされない場合、「安全」とマークすることができます。 安全とマークする場合は、目的のソリューションを投稿し、としてスコア付けしてくださいc*n。 勝ち c*nスコアが最低の割れていない投稿が、警官のスレッドに勝ちます。 最もひびが入った人は誰でも強盗スレッドに勝ち、最も早いひびはタイを壊します。 これは、10の安全な答え、または数週間後に決定されます。 注意事項 あなたが生意気に感じたら、ネタばれタグを使用してユーザーにアルゴリズムを伝えることができます。 注:また、クラックに賛成票を投じることを忘れないでください。それらは通常、印象的な部分です。

13
レーベンシュタイン距離とOEIS(強盗)
これは強盗の投稿です。コップポストはここにあります。 あなたの仕事は整数入力Nを取り、シーケンスOEIS A002942のN番目の数字を出力することです。 シーケンスは、逆向きに書かれた平方数で構成されます。 1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ... 先行ゼロは削除されることに注意してください(100は001ではなく1になります)。これを文字列に連結します(または1つの長い数値が与えられます): 1496152639446181121441 この文字列/番号のN番目の数字を出力します。Nを0インデックス付きまたは1インデックス付きとして選択できます(どちらを選択するかを明記してください)。 テストケース(1-indexed): N = 5, ==> 1 N = 17, ==> 1 <- Important test case! It's not zero. N = 20, ==> 4 N = 78, ==> 0 N = …

30
"こんにちは世界!" (強盗のスレッド)
これが強盗のスレッドです。警官のスレッドはこちらです。 あなたの課題は、警官のスレッドからひびのない提出物を取得し、どの入力または入力に対してプログラムが印刷Hello, World!するか、改行を見つけることです。大文字、スペース、句読点は正確でなければなりません。 コードを解読したら、警官の提出についてコメントしてください。

1
サイクリックポリグロットチャレンジ(警官)
サイクリックポリグロットチャレンジ これは警官のスレッドです。ここで強盗スレッドを見つけることができます。 サイクリックポリグロット N要素の巡回ポリグロットは、N個の異なる言語で実行できる完全なプログラムです。各言語で、プログラムが入力なしで実行される場合(この例外の影響を受ける可能性があります)、言語の名前をSTDOUTに出力する必要があります。具体的には、プログラムがK番目の言語で実行される場合、(K + 1)番目の言語の名前を出力する必要があります。プログラムがN番目の言語(つまり、N要素サイクルの最終言語)で実行される場合、最初の言語の名前を出力する必要があります。 例が役に立つかもしれません。 a = [[ v = 7, puts('Befunge') ]] __END__ = print("Ruby") -->*+:292*++,,@ --3 9 --7 * --^,:-5< Luaでこのプログラムを実行すると、文字列「Ruby」が出力されます。このプログラムをRubyで実行すると、文字列「Befunge」が出力されます。このプログラムをBefungeで実行すると、文字列「Lua」が出力され、サイクルが完了します。このプログラムは、Lua、Ruby、およびBefungeで構成される3サイクルを構成します。 同じ言語をサイクルで2回使用することはできません。また、同じ言語の異なるバージョン(Python 2とPython 3など)を同じサイクルで使用することはできません。 警官 課題は、Nが少なくとも2であるNサイクリックポリグロットを作成することです。その後、プログラムにいくつかの文字を追加、置換、削除して、Mサイクリックポリグロットを作成する必要があります。次に、短いNサイクリックポリグロット(およびそれが実行される言語)、および長いポリグロットを生成するために変更した文字数を投稿する必要があります。スコアはN(短いサイクルの言語の数)です。 強盗はあなたの長いサイクルを特定しようとします。7日後、誰もあなたのソリューションを正常にクラックできなかった場合、あなたはそれが安全であると宣言して答えを編集する必要があります。この時点で、より長いMサイクリックポリグロットも投稿する必要があります。 強盗 警官のNサイクリックポリグロットと、ポリグロットサイクルを大きくするために追加された文字数を考えると、目標はその大きなサイクルを作ることです。あなたは多くの文字を追加、削除、またはとして置き換えることにより、長いサイクルを作り出すことができる場合は警官が行ったように文字以下、あなたは警官のポリグロットを割っています。スコアは、作成した新しいサイクルの長さです。新しいポリグロットは、警官の秘密のポリグロットと同じである必要はありません。既存のものよりも大きくする必要があるだけです。 ソリューションもクラックされる可能性があります。別の強盗がやって来て、同じ警官のポリグロットから始まって、あなたよりも厳密に長いサイクルを生成すると、彼らはあなたのポイントを盗んだ。 有効なプログラミング言語 この課題は、他の参加者が使用するプログラミング言語を推測することを間接的に伴うため、この課題のためのプログラミング言語の定義は、通常の定義よりも少し厳密になります。この課題で使用されるプログラミング言語は、次のすべての条件を満たす必要があります。 言語はプログラミング言語に必要な通常のPPCGを満たさなければなりません。 言語には、このチャレンジが投稿された時点で、Wikipediaの記事、Esolangsの記事、またはRosetta Codeの記事が必要です。 言語には、自由に利用できるインタプリタまたはコンパイラが必要です。 最終ノート 記述するコードは、実行するすべての言語のスタンドアロンプ​​ログラムである必要があります。関数またはコードスニペットは許可されていません。 プログラムには、STDINからの入力はありません。同様に、プログラムはSTDERRに何も出力しません。 警官のスコアは、彼らが投稿した多言語のサイクル内の言語の数です。警官は、投稿されたポリグロットが正しく実行される言語と、より長いポリグロットを生成するために追加された文字数を投稿する必要があります。彼らは、答えが安全になるまで、長い隠れた多言語が実行されるたびに言語を投稿する責任を負いません。 強盗のスコアは、変更されたポリグロットが実行される言語の数です。警官と同様に、強盗はポリグロットが正しく実行される言語のリストを投稿する必要があります。 変更された文字の数は、レーベンシュタイン距離で計算する必要があります。


15
変装した変圧器(警官の糸)
強盗のスレッドはこちら copsタスクは、それ自体の入力が与えられると有限の確定文字列を出力する関数またはプログラムを記述することです。プログラムに別の入力が与えられると、別の出力が返されます。 ルール: 提出物は、 言語名 フラグが使用されている場合は、それらを明らかにする必要があります。 プログラムのバイト数 出力のバイト数 出力 特に長い場合は、ペーストビンなどを提供してください 印刷できないものが含まれている場合は、16進ダンプを提供してください。 末尾の改行と空白を出力に含める必要があります 入力元(STDIN、コマンドラインなど) 該当する場合、プログラムでそのバイトを使用しない限り、EOFを表すバイトは入力に存在しないと見なすことができます。 プログラムがクラックされている場合は、タイトルの強盗のスレッドに対応する回答へのリンクを追加します。 あなたのプログラムは、1週間が経過してマークを付けるまで安全ではありません。 入力または暗号化ハッシュ関数を使用してランダムにシードするなどの手法は承認しません。私はそれらを止めることはできませんが、これらのいずれかを利用するソリューションを受け入れることはできません。また、これらの手法の一部には衝突があり、別の文字列が同じ出力を生成する場合があることに注意してください。 あなたの目標は、最短の出力を持つことです。この質問を投稿してから3週間以内に投稿された最も短い安全なソリューションが優先されます! 強盗の仕事は、元のサイズ以下のプログラムを見つけることです。これも上記のルールに従います。 強盗が意図したものとは異なるソリューションでプログラムをクラックした場合、強盗のソリューションが正しくないことを証明することにより、プログラムを「クラック解除」する機会があります。これを行うには、同じ出力を生成する強盗のプログラムへの入力を見つけます。 提出例: ブレインファック、10バイト、スコア:10 ]<.[<],>[, このソリューションは、[>、] <[。<]であり、単純に入力を逆にします 幸運を!

5
ジャンブラーvsリビルダー:テトリスレンガを使用したコーディング-リビルダーの回答の領域
これは、Jumblers対Rebuilders: Rebuildersがソリューションを投稿できるTetris Bricksを使用したコーディングに付随する質問です。 強盗をどこに置くべきかで論じたように?それは強盗のためのより多くのフォーマットの自由を可能にし、彼らが担当者を獲得することを可能にします。 Jumblers vs Rebuilders:Coding with Tetris Bricksへの解答がまだ解読されていない場合にのみ、この質問に答えてください。回答にはその回答へのリンクを含め、回答にリンクする回答にはコメントを含めてください。 この質問に対する受け入れられた答えは、勝利した再構築者になります。 スコアボードは他の質問にのみ表示されます。 COTOは寛大になりましたJSFiddleを簡単にコードのレンガを操作します。私はこのフィドルを更新したので、ES 6は不要であり、このStack Snippetでは最小化しました。 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>function parseSpec(s){function first(){var e,t;t=S.findIndex(function(t){return(e=t.findIndex(function(e){return/\S/.test(e)}))!=-1});return t==-1?null:[e,t]}function at(e){var t=e[0],n=e[1];return n>=0&&n<S.length&&t>=0&&t<S[n].length?S[n][t]:" "}function wipe(e){var t=e[0],n=e[1];if(n>=0&&n<S.length&&t>=0&&t<S[n].length)S[n][t]=" "}var P,S=s.split("\n").map(function(e){return e.split("")});var oPats=$(".proto-tet [pat]").get().map(function(e){return{sPat:eval("["+$(e).attr("pat")+"]"),e:e,block:function(e){return[at(e)].concat(this.sPat.map(function(t){return at([e[0]+t[0],e[1]+t[1]])}))},wipe:function(e){this.sPat.forEach(function(e){return wipe([P[0]+e[0],P[1]+e[1]])})},match:function(e){return!/\s/.test(this.block(e).join(""))}}});window.oPats=oPats;while(P=first()){var oPat=oPats.find(function(e){return e.match(P)});if(!oPat){orphan(at(P));wipe(P);continue}createPiece(oPat.e,oPat.block(P));wipe(P);oPat.wipe(P)}}function createPiece(e,t){function r(e){var t=$(this).position();G.isIgnoreClick=false;G.eDrag=this;G.iOffsets=[e.clientX-t.left,e.clientY-t.top]}function i(){if(G.isIgnoreClick)return;var e=$(this);s($(".proto-tet ."+e.attr("rr")),function(e,t){return n[t-1]},e.css("left"),e.css("top"));e.remove()}function s(e,t,n,s){e.clone().html(e.html().replace(/@(\d)(\d)/g,t)).appendTo("body").on("mousedown",r).click(i).css({left:n,top:s})}var n=[];s($(e),function(e,r,i){return n[r-1]=t[i-1]},18+G.iSpawn%8*18*4+"px",18+~~(G.iSpawn/8)*18*4+"px");G.iSpawn++}function init(){$(document).on("mouseup",function(){return G.eDrag=null}).on("mousemove",function(e){if(G.eDrag){var t=$(G.eDrag),n=Math.round((e.clientX-G.iOffsets[0])/18)*18,r=Math.round((e.clientY-G.iOffsets[1])/18)*18,i=t.position();if(n!=i.left||r!=i.top)G.isIgnoreClick=true;t.css({left:n+"px",top:r+"px"})}})}function orphan(e){error("Spec …

24
警官と強盗のボウリング(強盗)
強盗のスレッド この課題の目標は、警官が作成したコード(コードはこちら)を変更して解読することです。次の場合は、コードをクラックしています。 変更されたコードの最大レーベンシュタイン距離は10であり、文字数が少ない 同じ有効な入力が与えられた関数は、同じバージョンの同じ言語で同じ出力を生成します 変更後のバージョンを元の投稿から168時間(1週間)以内に投稿した。 変更したコードには、印刷可能なASCIIのみを含める必要があります。 クラックされたバージョンを投稿した後、元のコードにコメントを残して、クラックへのリンクが含まれていることを示す必要があります。 あなたのスコアは、あなたのすべての答えの中でのレーベンシュティエン距離の合計です。最も高いスコアが勝ちます。 付随する警官のスレッドはここにあります。

6
盗難シーケンス:警官
これは警官と強盗です。これは警官スレッドです。強盗スレッドについては、こちらをご覧ください。 私がサイトに参加して以来、OEIS(整数シーケンスのオンライン百科事典)の課題に気づきました。誰がオンライン整数シーケンスのマスターであるかを決定する警官と強盗の挑戦があることは、公正に思われます。 編集:ささいな答えを防ぐために、警官はクラックされる提出ごとに1/2ポイントを失います。さらに、この課題のために、一定のシーケンスは許可されていません。これは、この編集後に投稿されたソリューションにのみ適用されます。 警官 入力がない場合、OEISからのシーケンスを確定的に出力するプログラムまたは関数を記述します。文字の一部のサブセットを削除することにより、プログラムを同じ言語で実行したときに、異なるOEISシーケンスを印刷できるようにする必要があります。新しいシーケンスは、異なる名前または異なるオフセットを持つ最初のシーケンスだけでなく、完全に新しいものである必要があります。どちらのシーケンスも、繰り返される定数値ではありません。 正しいことを確認できるように、最初の関数とOEISシーケンスの名前を指定する必要があります。言語のMAX_INT値または256のどちらか大きい方で動作が疑わしくなっても問題ありません。 強盗 新しいプログラムがOEISから他のシーケンスを出力するように、Copの提出物から文字を削除します。新しいOEISシーケンスの名前とともに新しい関数を提供します。ここにあなたの提出物が有効であることを確認するためのユーティリティがあります(つまり、おかしなビジネスなしに文字を削除します。シーケンス自体はチェックしません)。 警官の提出物からできるだけ多くのキャラクターを削除することがあなたの最善の利益です。別の強盗(元のプログラムを作成した警官を除く誰も)がやって来て、別の異なるシーケンスを見つけるより短い解決策を見つけた場合、その強盗はあなたのポイントを盗みます。(単にゴルフをして同じシーケンスを印刷するだけではポイントを盗むのに十分ではないことに注意してください。) ルールとスコア 1週間が経過してもソリューションを解読できなかった場合は、2番目のプログラムとそれが生成するシーケンスの名前を提供することで、ソリューションに安全のマークを付けることができます。 安全な投稿ごとに1ポイント、クラックした投稿ごとに1ポイントを獲得できます。警官はクラックされた提出ごとに1/2ポイントを失います。別の強盗が、異なるシーケンスを生成する短いプログラムを提供することにより、いつでもクラックされた提出からあなたのポイントを盗むことができることに注意してください。 警官は、1人の言語につき1つのチャレンジのみを投稿できます。 7月7日のUTC 12:00に最も多くのポイントを獲得したプレイヤーが勝利します。

7
Anagram Quines(強盗のスレッド)
これは警官と強盗の挑戦です。警官のスレッドはここにあります 強盗としてのあなたの課題は、警官のスレッドから出力を取得し、プログラムとして実行したときに提供された元の出力を出力するアナグラムを見つけることです。 勝者は、この質問で最も有効なクラックを持つ人になります。 ルール 提供されたプログラムで安全とマークされた回答を解読することはできません。 警官が意図した解決策がある言語を提供する場合、その特定の言語でそれを解読する必要があります。彼らが選択しない場合、競合する言語で解読する可能性があります。 クインの標準ルールが適用されます。 クラックは完璧なクインであってはなりません。つまり、正確なソースを出力するのではなく、その順序を変更する必要があります(順序は警官によって提供されます)。

1
ターピットからの脱出(警官)
これは、言語の定義とそれらが完全なチューリングであることを証明することに基づく警官と強盗の挑戦です。 これは警官のスレッドです。強盗のスレッドはこちらです。 警官 警官として、次の2つを準備します。 プログラミング言語またはその他の計算システムの正式な仕様。(計算システムは以下に定義されています。) 以下のやや厳密な定義に従って、システムがチューリング完全であることの証明。 あなたはあなたの言語の仕様を投稿し、強盗はそのチューリングの完全性を証明することによってそれを「クラッキング」しようとします。提出物が1週間以内にクラックされない場合は、安全なものとしてマークし、証拠を投稿できます。(あなたがそれを修正できない限り、誰かがあなたの証明に欠陥を見つけた場合、あなたの答えは無効になる可能性があります。) これは人気コンテストなので、投票数が最も多く、クラックや無効化されていない答えが勝者になります。挑戦は自由回答です-私は答えを受け入れません。 この課題のために、計算システムは次の4つとして定義されます。 「プログラムセット」P。これは、数え切れないほど無限のセットになります。たとえば、文字列、整数、バイナリツリー、グリッド上のピクセルの構成などです(ただし、以下の技術的な制限を参照してください)。 「入力セット」I。これも数え切れないほど無限のセットであり、と同じセットである必要はありませんP(ただし、そうである場合もあります)。 「出力セット」はO、同様に無数に無限のセットであり、Pまたはと同じであってもなくてもかまいません。I 出力生成のための決定論的、機構的手順oプログラムからpの入力i、p、iおよびoのメンバーでありP、IそしてOそれぞれ。この手順は、原則として、チューリングマシンまたは他の抽象的な計算モデルに実装できるような手順にする必要があります。もちろん、プログラムとその入力によっては、手順が停止しない場合があります。 セットP、IそしてOあなたが計算可能な方法で文字列としてそれらを表現できるようなものでなければなりません。(ほとんどの賢明な選択の場合、これは重要ではありません。このルールは、停止しないチューリングマシンのセットなどの奇妙なセットを選択しないようにするために存在します。) チューリング完全性は次のように定義されます。 任意の計算部分の機能のためにfからIのO、プログラムが存在するp中でP、そのような与えられたp入力i、出力されf(i)た場合f(i)の値を有します。(それ以外の場合、プログラムは停止しません。) 上記の定義で「計算可能」という用語は、「チューリングマシンを使用して計算できる」という意味です。 どちらのことを注意ルール110もビット単位のサイクリックタグは、彼らが必要な入出力構造を持っていないので、この定義にチューリング完全です。ラムダ計算は、私たちが定義IしO、教会の数字である限り、チューリング完全です。(一般的にラムダ式を採用するIと、チューリング完全ではありませんO。) 言語の実装を提供する必要はありませんが、必要に応じて回答に含めることもできます。ただし、言語を定義するために実装に依存するべきではありません。仕様自体が完全である必要があり、仕様と実装の間に矛盾がある場合、これは実装のバグとして扱われるべきです。

5
抽象書き換えチャレンジ(強盗)
これは、いくぶん証明的なゴルフのような警官と強盗の挑戦です。これは強盗のスレッドです。警官のスレッドはこちらです。 強盗 警官は抽象的な書き換えシステムを投稿します。あなたの仕事は、書き換えルールを適用して、ターゲット文字列にソース文字列から到達できるかどうかを証明することにより、提出をクラックすることです。(これを行うには、ソース文字列で始まりターゲットで終わる一連の書き換えルールをポストするか、これが存在するかしないかを数学的に証明します。) 詳細と定義については、警官のスレッドを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.