Questions tagged «cops-and-robbers»

对于由两个对手(和非对称)子挑战组成的挑战。

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。生成函数是一个非常强大的工具,您可以使用它们来做很多有用的事情。在这里可以找到简短的介绍,但是要获得真正彻底的解释,请参见惊人的图书生成功能学。 在此挑战中,您将有理函数(两个具有整数系数的多项式的商)作为两个整数系数数组的输入作为输入,首先是分子,然后是分母。例如,功能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
加密哈希高尔夫(强盗)
比赛结束了。 警察挑战中没有剩余的可靠答案。 加密哈希高尔夫的同伴线程 提醒一下,这是针对主要挑战的强盗规则: 任务 通过在强盗的线程中张贴以下内容来破解任何警察的提交:I中的两个消息M和N,使得 H(M)= H(N)和M≠N。 计分 破解每个警察提交的内容可以使您获得1分。得分最高的强盗获胜。 如果是平局,则破解最长提交的并列强盗获胜。 附加规则 每次提交的警察只能被破解一次。 如果警察提交依赖于实现定义的行为或未定义的行为,则只需要找到在计算机上有效(可验证)的破解即可。 每个破解都属于强盗线程中的一个单独答案。 发布无效的破解尝试会禁止您破解特定的提交文件30分钟。 您可能无法破解自己的提交。 例 Python 2.7,user8675309的22个字节 1 和 18 排行榜 电子商务:3个裂缝,393个字节 MartinBüttner:3个裂缝,299字节 jimmy23013:3个裂缝,161个字节 Sp3000:3个裂缝,44个字节 tucuxi:2个裂缝,239个字节 六。:2个裂缝,87字节 feersum:1个裂纹,216个字节 mathmandan:1个破解,139个字节 吱吱作响的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变为1,而不是001)。将其连接成一个字符串(或一个长数字给出): 1496152639446181121441 您应在此字符串/数字中输出第N个数字。您可以选择将N设为0索引或1索引(请说明您选择了哪一个)。 测试用例(1索引): N = 5, ==> 1 N = 17, ==> 1 <- Important test case! It's not zero. N = 20, ==> 4 N = 78, ==> 0 N = …

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个循环。 相同的语言不能在一个周期中出现两次,并且同一语言的不同版本(例如Python 2和Python 3)不能在相同的周期中出现。 警察 您的挑战是编写一个N循环多图,其中N至少为2。然后,您必须在程序中添加,替换和删除一些字符,以生成M循环多图,其中M严格大于N然后,您应该发布较短的N循环多语种(及其运行的语言),以及为产生更长的多语种而更改的字符数。您的分数为N,即较短周期中的语言数量。 强盗将尝试确定您的更长周期。如果七天后没有人成功破解您的解决方案,则应编辑答案以声明它是安全的。您还应该在此时发布更长的M循环多语种。 强盗 给定一个警察的N循环多语种和他们添加的字符数以产生更大的多语种循环,您的目标是产生一个更大的循环。如果您可以通过添加,删除或替换与警察一样多的字符或更少的字符来产生更长的周期,则可以破解警察的多语种。您的分数是您创建的新周期的长度。您的新杂音不必与警察的秘密杂音相同或什至相似;它只需要比现有的更大。 您的解决方案也可能被破解。如果从同一个警察的通配语言开始,另一个强盗出现了,并且产生了一个比您严​​格更长的周期,那么他们就盗走了您的积分。 有效的编程语言 由于此挑战间接涉及猜测其他参与者使用的编程语言,因此针对此挑战的目的,编程语言的定义将比通常的定义更为严格。挑战中使用的编程语言必须满足以下所有条件。 该语言必须满足编程语言通常的PPCG要求。 在发布此挑战时,该语言必须具有Wikipedia文章,Esolangs文章或Rosetta Code文章。 该语言必须具有免费的解释器或编译器。 最后说明 您编写的代码应该是打算以每种语言运行的独立程序。不允许使用功能或代码段。 您的程序不会通过STDIN得到任何输入。同样,您的程序应不打印任何内容到STDERR。 警察的分数是他们发布的多种语言周期中的语言数量。警察应该张贴正确发布的多语种的语言,以及他们添加以产生更长的多语种的字符数。他们不负责发布语言,因为隐藏的多语种运行时间更长,直到答案安全为止。 强盗的分数是修改后的多语言运行所使用的语言的数量。与警察一样,强盗应张贴多语言正常运行所使用的语言的列表。 更改的字符数应以Levenshtein距离计算。



7
七巧板奎因斯(Robbers'Thread)
这是一个 警察和强盗挑战警察的线索可以在这里找到 作为强盗,您要面对的挑战是从警察的线程中获取输出,并找到输出的字谜,当程序运行该字谜时,会提供原始输出。 获胜者将是在这个问题上最有效的人。 规则 您可能无法破解提供的程序标记为安全的答案。 如果警察提供了您想要的解决方案所用的语言,则您必须使用该特定语言来破解它,如果他们选择不这样做,则您可能会以任何竞争性语言来破解它。 适用Quines的标准规则。 裂缝一定不是完美的奎因。也就是说,他们不得输出其确切来源,而应重新排序(该顺序由警察提供)。

15
变相变形金刚(警察线)
强盗的线在这里 警察的任务是编写一个函数或程序,当给定其自身的输入时,该函数或程序将输出有限的确定性字符串。如果为程序提供了不同的输入,则应返回不同的输出。 规则: 提交内容包括 语言名称 如果使用了任何标志,则应将其显示出来。 程序字节数 输出字节数 输出量 如果时间特别长,请提供粘贴框或类似内容 如果其中包含无法打印的内容,请提供一个十六进制转储。 尾随换行符和空格应包含在输出中 输入来自何处(STDIN,命令行等) 如果适用,您可以假定输入中不存在表示EOF的字节,除非您在程序中使用该字节。 如果您的程序被破解,请在强盗标题中的标题中添加指向相应答案的链接。 您的程序直到一周过去才安全,并且您将其标记为安全。 我不赞成使用输入或加密哈希函数为随机种子等技术。我无法阻止他们,但我不会接受利用其中任何一个的解决方案。还要注意,其中一些技术可能会发生冲突,其中不同的字符串会产生相同的输出。 您的目标是拥有最短的输出。在发布此问题后的三周内发布的最短安全解决方案将获胜! 强盗的任务是找到一个大小等于或小于原始文件的程序,该程序也要遵守上述规则。 如果强盗使用不同于预期的解决方案破解您的程序,那么您就有机会通过证明强盗的解决方案不正确来“破解”程序。您可以通过找到强盗程序的输入来实现,以产生相同的输出。 提交示例: brainfuck,10个字节,得分:10 ]<.[<],>[, 这个解决方案是,[>,] <[。<],它只是反转输入 祝好运!

6
偷窃序列:警察
这是警察和强盗。这是警察的线程。有关强盗线索,请转到此处。 自加入网站以来,我注意到了许多OEIS(整数序列在线百科)挑战。看来,我们要面对一次警察与强盗的挑战,才能一劳永逸地确定谁是在线整数序列的主人。 编辑:为了防止琐碎的回答,警察每次破解都会损失1/2分。另外,出于此挑战的目的,不允许使用恒定序列。这仅适用于此编辑后发布的解决方案。 警察 编写一个程序或函数,在没有任何输入的情况下,确定性地打印OEIS中的任何序列。通过删除某些字符子集,您的程序在以相同语言运行时必须能够打印不同的OEIS序列。新序列必须是全新的,而不仅仅是第一个序列具有不同的名称或具有不同的偏移量。这两个序列都不能只是重复的常数值。 您必须提供第一个功能以及OEIS序列的名称,以便可以验证正确性。如果您的语言的MAX_INT值或256(以较大者为准)附近的行为令人怀疑,则可以。 强盗 从某些Cop提交的文件中删除字符,以便您的新程序从OEIS输出任何其他序列。提供新功能以及新OEIS序列的名称。这是一个确保您提交的内容有效的实用程序(即删除没有任何可笑之处的字符。不检查序列本身。) 最好从警察提交的文件中删除尽可能多的字符。如果另一个强盗(除了编写原始程序的警察以外的其他强盗)出现,并且找到了一个更短的解决方案,而该解决方案找到了另一个不同的序列,那么该强盗会窃取您的观点。(请注意,仅打掉角色并打印相同的顺序不足以窃取该点。) 规则与计分 如果一个星期后没有人能够破解您的解决方案,则可以通过提供第二个程序及其生成的序列名称,将您的解决方案标记为安全。 每次安全张贴,您都会得到1分;对于每次提交的内容,您将得到1分。每次破解提交,警察将损失1/2点。请注意,另一个强盗可以通过提供产生不同序列的较短程序,随时从破解的提交中窃取您的观点。 警察每人每种语言只能发布一个挑战。 在7月7日世界标准时间12:00得分最高的玩家获胜。

5
混乱与重建者:用俄罗斯方块砖编码-重建者答案区域
这是Jumblers vs Rebuilders的伴随问题:使用Tetris Bricks进行编码,Rebuilder可以在其中发布其解决方案。 正如我们应该在哪里放置强盗?它为强盗提供了更多的格式化自由,并让他们获得了声望。 仅当您对Jumblers vs Rebuilders:使用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 character …

24
警察和强盗保龄球(强盗)
强盗的线 在这种挑战,你的目标是打击由警察(他们的代码编写一些代码在这里通过修改)。在以下情况下,您已经破解了他们的代码: 修改后的代码与其之间的最大levenshtein距离为10,并且字符数更少 给定相同有效输入的函数,将以相同版本的相同语言产生相同的输出 您在原始帖子的168小时(1周)内发布了修改后的版本。 修改后的代码只能具有可打印的ASCII。 发布破解版本后,您应该在原始代码中留下评论,说它已被破解并带有指向您的破解的链接。 您的分数是所有答案之间的总Levenshtien距离。最高分获胜。 随行的Cops线程可以在这里找到。

1
逃离柏油(警察)
这是一个 警察和强盗 围绕定义语言并证明他们已经完成图灵这一挑战。 这是警察的话题。强盗的线索在这里。 警察 作为一名警察,您将准备两件事: 编程语言或其他计算系统的正式规范。(计算系统定义如下。) 根据以下较为严格的定义,证明您的系统是Turing完整的。 您将发布您的语言说明,强盗将通过证明其图灵完整性来尝试“破解”它。如果您提交的内容在一周内没有被破解,则可以将其标记为安全并发布证明。(如果有人发现您的证明有缺陷,则您的答案可能无效,除非您可以修复它。) 这是一个 人气竞赛,因此获胜者将是投票数最多且未破解或无效的答案。挑战是无限的-我不会接受答案。 为了应对这一挑战,将计算系统定义为四件事: 一个“程序集” 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是教会数字,Lambda演算就已经完成了Turing 。(这不是图灵完整的,如果我们采取I和O将在一般lambda表达式。) 请注意,您不必提供某种语言的实现,但是如果愿意,欢迎在您的答案中加入一种语言。但是,您不应该以任何方式依赖实现来定义语言-规范本身应该完整,并且如果规范和实现之间存在矛盾,则应将其视为实现中的错误。

5
抽象重写挑战(强盗)
这有点 证明高尔夫球-喜欢 警察和强盗挑战。这是强盗的线索。警察的线在这里。 强盗 警察将发布摘要重写系统。您的任务是通过应用重写规则来证明从源字符串可以到达或不能到达目标字符串,从而破解他们的提交。(您可以通过发布一系列以源字符串开头并以目标字符串结尾的重写规则,或者通过数学方式证明该规则存在或不存在来执行此操作。) 有关详细信息和定义,请参见警察的线程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.