Questions tagged «decision-problem»

对于涉及确定输入是否满足特定条件的挑战,以及输出代表该决策的一些数据。

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 …

28
矩阵是中心对称的吗?代码也是吗?
定义 甲中心对称矩阵是正方形矩阵是对称的围绕其中心。更严格地说,如果对于任何满足以下关系,则大小为的矩阵是中心对称的: AAAn×nn×nn \times ni,j∈([1,n]∩Z)i,j∈([1,n]∩Z)i,\: j \in ([1, n] \cap \mathbb{Z})Ai,j=An+1−i,n+1−jAi,j=An+1−i,n+1−jA_{i,\:j}=A_{n+1-i,\:n+1-j} 此类矩阵的示例 这是这样的矩阵的对称性的图示(从上述Wikipedia文章中借来): 偶数边长( ×)的中心对称矩阵:4×44×44\times 4 ⎛⎝⎜⎜⎜1584267337624851⎞⎠⎟⎟⎟(1234567887654321)\left(\begin{matrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 8 & 7 & 6 & 5 \\ 4 & 3 & 2 & 1\end{matrix}\right) 还有一个奇数边长():3×33×33\times 3 …

30
等等,这是什么语言?
最近,我很高兴编写了一个Haskell程序,该程序可以检测到NegativeLiterals扩展是否被使用。我想出了以下几点: data B=B{u::Integer} instance Num B where{fromInteger=B;negate _=B 1} main=print$1==u(-1) 在线尝试! 它将True正常打印,False否则打印。 现在,我的工作非常有趣,我将挑战扩展到了所有人。您还可以破解其他哪些Haskell语言扩展? 规则 要破解特定的语言扩展,您必须编写一个Haskell程序,该程序可以同时编译有无语言扩展(警告很好),并在使用该语言扩展运行并关闭时输出两个不同的非错误值(通过将No前缀添加到语言扩展)。这样,上面的代码可以简化为: data B=B{u::Integer} instance Num B where{fromInteger=B;negate _=B 1} main=print$u(-1) 打印1和-1。 您用来破解扩展程序的任何方法都必须特定于该扩展程序。如果不允许的话,可能有一些方法可以任意检测启用了哪些编译器标志或LanguageExtensions。您可以启用其他语言扩展或更改编译器优化-O,而无需花费任何字节数。 语言扩展 你无法破解任何语言扩展,没有一个No对应物(例如Haskell98,Haskell2010,Unsafe,Trustworthy,Safe),因为这些不属于上文所列的条款。所有其他语言扩展都是公平的游戏。 计分 您是第一个破解的人,每种语言扩展都会获得一分,而您破解最短(以字节为单位)的每种语言扩展将获得一分。对于第二点,将打破联系以支持较早的提交。分数越高越好 您将无法为首次提交打分,NegativeLiterals或者QuasiQuotes因为我已经破解了它们并将其包含在帖子正文中。但是,您将能够在每一个裂缝中得分最短的地方得分。这是我的裂缝QuasiQuotes import Text.Heredoc main=print[here|here<-""] -- |] 在线尝试!

5
我会及时解决吗?
灵感来自此。 背景 在邪恶的农场主已决定烧毁你的麦田,以哄抬价格。为了确保完全销毁,他还把您的田地浸泡在汽油中。更不幸的是,当它着火时,您正巧在田野上行走,您必须迅速走出去才能生存。 挑战 给定一个包含小麦,火和您所在位置的田地,确定是否可以及时将其赶出田野。 一块田地由小麦(这里用表示.)和火(F)组成。在此,您的位置标有O。例如: ...F...F F....... ........ .F...... ....O... ...F.... ........ .F....F. 您每秒移动到任何相邻的单元(但不是对角线),并且每场火势都会蔓延到每个相邻的单元。如果您无法移至不会着火的牢房,您就会丧命。如果您不在野外就可以生存。让我们看看在此示例中发生了什么: ...F...F F....... ........ .F...... ....O... ...F.... ........ .F....F. ..FFF.FF FF.F...F FF...... FFF..... .F.F.O.. ..FFF... .F.F..F. FFF..FFF FFFFFFFF FFFFF.FF FFFF...F FFFF.... FF.FF.O. .FFFFFF. FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFF.FF FFFFF.FF FFFFFFFO FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF …

23
蚂蚁排列
介绍 假设您有一个标尺,编号从0到r-1。您在任何两个数字之间放置一个蚂蚁,它开始在尺子上不规则地爬行。标尺是如此狭窄,以至于蚂蚁不能不走其间的所有数字就不能从一个位置走到另一位置。当蚂蚁第一次行走在一个数字上时,您将其记录下来,这使您可以对r数进行排列。我们说一个置换是坐立不安,如果它可以通过这种方式蚂蚁产生。或者,如果除第一个条目外的每个条目p [i]都在与某个先前条目的距离1之内,则置换p是无意义的。 例子 长度为6的排列 4, 3, 5, 2, 1, 0 是anty,因为3在距离1的4之内,5在距离1的4之内,2在距离3的距离1之内,1在距离2的距离1之内,以及0在距离1的距离1之内。排列 3, 2, 5, 4, 1, 0 不是蚁群,因为5不在3或2的距离1之内;蚂蚁必须经过4点才能到达5点。 任务 给定的数字的置换从0到R-1由于某种1个≤R≤100以任何合理的格式,输出如果置换是坐立不安一个truthy值和falsy值如果不是。 测试用例 [0] -> True [0, 1] -> True [1, 0] -> True [0, 1, 2] -> True [0, 2, 1] -> False [2, 1, 3, 0] -> True [3, …

27
折号
给定一个数字,确定它是否为折叠数字。 折叠数是一个数字,如果您将其用二进制表示形式并将其“对折”成一半,那就是将数字的前半部分与后半部分的XNOR乘以XNOR乘以相反的数字得到的结果,您将得到零。 如果该数字的二进制位数为奇数,则其中间数字必须为1,并且在折叠时将被忽略。 由于这可能会使您感到困惑,因此我举一些例子: 178 178的二进制表示为 10110010 要折叠它,我们首先将其切成两半 1011 0010 我们下半年倒转 1011 0100 我们对这两个部分进行异或运算: 0000 这是零,所以这是一个折叠数。 1644年 1644的二进制表示为 11001101100 要折叠它,我们首先将其切成两半 11001 1 01100 中间位是1,因此我们将其丢弃。 11001 01100 我们下半年倒转 11001 00110 我们对这两个部分进行异或运算: 00000 这是零,所以这是一个折叠数。 4254 4254的二进制表示为 1000010011110 要折叠它,我们首先将其切成两半 100001 0 011110 中间位是0,因此这不是折叠数。 任务 您的任务是接受一个正数,如果该数字是可折叠的,则返回一个真值;如果不是,则返回虚假的值。这是代码高尔夫球,因此请尽量减少字节数。 测试用例 以下是前99个折叠数字: [1, 2, 6, 10, 12, 22, …

30
检查单词字母是否按字母顺序排列
编写一个接受一串小写/大写字母[A-Za-z]作为输入的函数/程序,该函数/程序检查出现的字母是否唯一并且是否按字母顺序排列(忽略大小写)。如果输出是唯一的且按字母顺序输出,则输出必须为真,否则为假。 这里有一些测试用例 a true abcdefGHIjklmnopqrSTUVWXyz true aa false puz true puzz false puzZ false puZ true PuZ true pzu false pzU false abcdABCD false dcba false 如果您愿意,可以在像这样的单词列表的所有单词上运行程序,然后发布一些有趣的单词=)。 得分 最低字节数获胜。

28
这是普罗斯数吗?
一个普罗斯数,弗朗索瓦·普罗斯命名,是可以表示为一个数 N = k * 2^n + 1 其中k是奇数个正整数,n是一个这样的正整数2^n > k。让我们使用一个更具体的例子。取3。3是Proth数,因为它可以写成 (1 * 2^1) + 1 并2^1 > 1感到满意。5也是Proth编号,因为它可以写为 (1 * 2^2) + 1 并2^2 > 1感到满意。但是,7 不是 Proth编号,因为以表格形式写入的唯一方法N = k * 2^n + 1是 (3 * 2^1) + 1 并且2^1 > 3不满意。 您面临的挑战非常简单:给定正整数,您必须编写一个程序或函数,确定该程序或函数是否是Proth数字。您可以采用任何合理的格式输入,如果输出是Proth值,则应输出真实值,如果不是,则应输出错误值。如果您的语言具有“ Proth-number detection”功能,则可以使用它们。 测试IO 以下是前1000个Proth的前46个数字。(A080075) 3, 5, …

22
基本ASCII提示
替代标题:在墙上统计您的监狱判决 给定一个数字n,输出记录分为传统的每组5个和每行50个。 例子 1个 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
起点等于终点吗?
任务 在此挑战中,您的任务是编写一个程序或函数,该程序或函数接受String,并根据输入String的第一个字符和最后一个字符是否相等,输出真值或伪值。 输入值 您可以以任何合理的方式接受输入。但是,不允许输入存在于预定义变量中。允许从文件,控制台,命令行,输入字段等进行读取,或将输入作为函数参数。 输出量 除了将结果分配给变量外,您可以以任何合理的格式输出。return允许写入文件,控制台,命令行,模式框,函数语句等。 附加规则 输入也可以是空String,您应该为其返回falsey值。 单字符输入字符串应得到真实的结果。 您的程序应区分大小写。helloH应该输出一个falsey值。 您只能有一个Truthy值和一个Falsey值。例如,不允许将false一个输入字符串和0另一个输入字符串输出为Falsey值。 不允许出现标准漏洞。 测试用例 Input -> Output "10h01" Truthy "Nothing" Falsey "Acccca" Falsey "wow!" Falsey "wow" Truthy "H" Truthy "" Falsey 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

22
首字母缩略词确实可以明显缩小您的消息感应器
因此,如果短语是单词的缩写,则需要一种更好的方法来解决。您还认为,看看所涉及的短语和单词是否是递归首字母缩写是值得的。 你的任务: 给定一个单词,然后给出一个由行分隔的词组,如果该词组是首字母缩写词,然后是递归首字母缩写词,则输出。(该短语包含其含义) 输入将由字母字符以及空格组成。 您的程序不应区分大小写。 输入/输出示例: 情况1: 输入: Acronyms Acronyms can really obviously narrow your message sensors 输出: True True 情况2: 输入: FAQ frequently asked questions 输出: True False 情况3: 输入: foo bar baz 输出: False False 情况4: 输入: GNU GNU is not Unix 输出: False False 情况5: 输入: Aha …

28
Java对JavaScript就像汽车对地毯一样
标题被盗灵感来自格雷格Hewgill的回答到什么是JavaScript和Java之间的区别? 介绍 Java和JavaScript是程序员常用的语言,并且是Stack Overflow上最流行的标签。然而,众所周知,除了名字相似外,两者几乎没有共同之处。 为了纪念编程界最臭名昭著的辩论之一,并受到我最近对标记搜索的不满启发,我提出以下建议: 挑战 编写一个将字符串作为输入的程序。返回car如果字符串开头的“Java”和不包括“的JavaScript”。否则,返回carpet。 输入和输出示例 汽车: java javafx javabeans java-stream java-script java-8 java.util.scanner java-avascript JAVA-SCRIPTING javacarpet 地毯: javascript javascript-events facebook-javascript-sdk javajavascript jquery python rx-java java-api-for-javascript not-java JAVASCRIPTING 笔记 输入匹配不区分大小写 输出的唯一可能性应该是car或carpet 如果您的答案使用Java,JavaScript或Regex,则可获得虚构的奖励积分 备用标题:Java是JavaScript,就像火腿是仓鼠

30
这串字母是不是在做车轮?
挑战灵感是我在某处看到的: 单词“尼姑”只是字母ñ做一个侧手翻 您面临的挑战是取一个字符串并确定它是否是执行车轮的第一个字母。 规则 字符串是满足以下条件的字母: 第一个字母与最后一个字母相同。(这封信不能落在头上。) 该字符串在每个字符之间交替显示。 翻车的字母是n和u,m和w,b和q。需要注意的是n和w一起不 cartwheeling字母,也不是w和b。 您将使用我们的任何标准输入法获取字符串。 如果字符串是一个翻车字母,您将输出一个真值;否则,您将输出一个假值。可以使用任何标准输出方法来完成输出。 附加规则: 只有小写字母侧手翻n/ u/ m/ w/ b/ q需要处理。 您可能会认为输入永远不会为空。 一个字符的字符串不是有效的车轮。 测试用例 Input -> Output nun -> truthy nunun -> truthy nunununu -> falsy wmw -> truthy wmwun -> falsy bqbqbqbqbqb -> truthy v^v^v -> falsy AVAVA -> falsy OOO -> …

30
是Mersenne Prime吗?
如果数字既是素数又可以以2 n -1的形式书写,则该数字就是梅森素数,其中n是正整数。 给定任何正整数,您的任务是确定它是否为梅森素数。您可以提交返回真实/错误值的函数,也可以提交执行IO的完整程序。 规则: 因为这是code-golf,所以您应该以尽可能短的字节数为目标。允许内置。 应用标准的高尔夫球漏洞-您无法从外部文件读取Mersenne素数,也无法将其硬编码到程序中。 您的程序应能在您语言的标准整数大小范围内使用值。 测试用例 作为参考,可以在此处找到(已知)梅森素数的列表。一些方便的测试用例是: 2 -> False 1 -> False 20 -> False 51 -> False 63 -> False 3 -> True 31 -> True 8191 -> True 祝大家圣诞快乐!祝您假期愉快,无论您庆祝什么:)

30
像一二三一样容易
编写一个使用正整数的程序或函数。您可以假定输入有效,并且可以将其作为字符串。如果数字是以下任何一个 123 234 345 456 567 678 789 然后输出真实值。否则,输出一个伪造的值。例如,输入 1 2 3 12 122 124 132 321 457 777 890 900 1011 1230 1234 必须全部导致虚假输出。(输入不会有前导零,因此您不必担心诸如此类的东西012。) 以字节为单位的最短代码获胜。

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.