Questions tagged «decision-problem»

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

18
这是有效的Takuzu棋盘吗?
Takuzu是一种逻辑游戏,您必须使用包含0s和1s的单元格完成网格。网格必须遵循3条规则: 三个水平或垂直连续的像元不能相同。 必须有相等的0s和1每行和每一列中 s。 没有两行可以相同,也没有两列可以相同。 让我们看一个完成的网格: 0011 1100 0101 1010 正如你所看到的,这款主板遵循规则1,2和3。没有三个相同的水平或垂直单元格,所有行和列都包含相等数量的0s和1s,并且没有两行和两列相同。 让我们看一下无效的网格: 110100 010011 011010 101100 100011 001101 这个网格存在很多问题。例如,row连续5有三个0s,column连续2有三个1s,然后是三个0s。因此,这不是有效的网格。 任务: 您的任务是制作一个给定n* n 0的2D数组和1 s,以验证电路板以查看其是否为有效的成品Takuzu电路板。 例子: 0011 1100 0101 1010 该董事会遵循所有规则,因此是有效的Takuzu董事会。您必须为此返回真实值。 11 00 这不是有效的木板行1,不遵守规则2。您必须为此返回一个false值。 100110 101001 010101 100110 011010 011001 这不是有效的木板,它(仅)由于规则3而失败-第一和第四行相同。 110100 001011 010011 101100 100110 011001 这不是有效的木板,它(仅)由于规则3而失败-第一和第四列相同。 011010 010101 101100 …

30
圆圈重叠吗?
给定中心的坐标和2个圆的半径,请输出它们是否重叠的真实值。 输入项 输入可以通过STDIN或等效的函数参数获取,但不能作为变量。您可以将它们作为单个变量(列表,字符串等)或作为多个输入/参数,以任意顺序使用。 输入将是六个浮点数。这些浮点数最多可以保留3个小数位。坐标可以是正或负。半径将为正。 输出量 输出可以通过STDOUT或函数返回。 程序必须有2个不同的输出-一个用于True值(圆圈确实重叠),另一个用于False输出(它们不重叠)。 测试用例 (输入[(x1, y1, r1), (x2, y2, r2)]以测试用例的元组列表形式提供;您可以采用任何格式的输入) 真正 [(5.86, 3.92, 1.670), (11.8, 2.98, 4.571)] [(8.26, -2.72, 2.488), (4.59, -2.97, 1.345)] [(9.32, -7.77, 2.8), (6.21, -8.51, 0.4)] 假 [(4.59, -2.97, 1.345), (11.8, 2.98, 4.571)] [(9.32, -7.77, 2.8), (4.59, -2.97, 1.345)] [(5.86, 3.92, 1.670), (6.21, …

23
我的电话号码是de Polignac号码吗?
当且仅当它是奇数并且不能以p + 2 n的形式表示时,该数字才是de Polignac数,其中n是非负整数,p是质数。 任务 编写一些采用正整数并确定它是否为de Polignac数的代码。您可以输出两个不同的值,一个为true,一个为false。您应该努力减少字节数。 测试用例 对于积极的情况,这里是OEIS 1, 127, 149, 251, 331, 337, 373, 509, 599, 701, 757, 809, 877, 905, 907, 959, 977, 997, 1019, 1087, 1199, 1207, 1211, 1243, 1259, 1271, 1477, 1529, 1541, 1549, 1589, 1597, 1619, 1649, 1657, 1719, 1759, 1777, 1783, 1807, …

3
当生活给你柠檬时,做柠檬水
挑战 您将得到一个输入字符串,任何地方的话"Lemon"是发现它应转换到"Lemonade" ,但是在a,d和e在句子中必须借用了别的地方。 例 输入示例: 我小时候发现一个柠檬 示例输出: 我小时候就喝柠檬水 该柠檬水是由从原来的偷下标字母创建 我foun d柠檬水WH é ñ我是一个孩子 这只是一个可能的输出示例,“ e”,“ d”和“ a”可以从任何地方获取(当然单词除外lemon) 评论 •如果,或s 不足e,则必须输出给定字母可进行的操作。例如,输入将输出adbdblemonbblemond • lemon文本可能并不总是独立的(两边都有空格)。例如,您可能lemons在输入中的某处有单词,而输出应为lemonades •输入可以包含任意数量的lemons,甚至0 lemons(在这种情况下,输出将与输入相同) •您可以用大写和小写字母来制作您的柠檬水,例如leMon可以变成leMonade,而ade借用可以是任意大小写(因此也可以变成leMonADe)。您借用的信件的大小写必须保持与借用时相同。(示例输入->输出,he hAD lemOn-> h h lemOnADe) •不必是一个完整的程序,仅一个功能就可以。 •您可以假设输入仅是CP437字符集 高尔夫代码 这是代码高尔夫球,因此赢得最少的字节数! 伪测试案例 *注意:对于任何给定的输入,可能会有多个可能的输出,因此您的程序可能无法完全按照这些测试用例的方式输出,这仅仅是为了使人们可以理解逻辑: 输入:EpaD leMons 输出:p LeMonaDEs 输入:hello world 输出:hello world 输入:柠檬柠檬 输出:柠檬柠檬 *(本e,a,d字母不应该从另一个“柠檬”拍摄) 输入:HE HAD柠檬水 输出:HH …
21 code-golf  string  code-golf  parsing  internet  stack-exchange-api  code-challenge  kolmogorov-complexity  restricted-source  brain-flak  python  logic  pyth  code-golf  string  search  optimized-output  code-golf  tips  language-design  golfing-language  code-golf  tips  language-design  code-golf  number  sorting  pi  code-golf  math  number  code-golf  string  balanced-string  classification  brain-flak  code-golf  math  number-theory  decision-problem  code-golf  tips  code-golf  number  sequence  code-golf  balanced-string  brain-flak  code-golf  math  sequence  arithmetic  fibonacci  code-golf  math  parsing  code-golf  string  keyboard  code-golf  code-golf  string  source-layout  whitespace  code-golf  math  rational-numbers  code-golf  string  code-golf  string  code-golf  math  sequence  code-golf  number  floating-point  code-golf  string  decision-problem  subsequence  code-golf  string  kolmogorov-complexity  code-golf  string  permutations  balanced-string  brain-flak  code-golf  string  math  number  code-golf  string  primes  cipher  code-golf  string  ascii-art  chemistry  code-golf  ascii-art  grid  counting  code-golf  math  arithmetic  integer  code-golf  number  kolmogorov-complexity  code-golf  ascii-art  kolmogorov-complexity  sequence  metagolf  brain-flak  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  whitespace 

3
原子比例游戏
您的任务是使机器人扮演得分最高的Atomas。 游戏的运作方式: 游戏板以6个“原子”的环开头,数字范围为1到3。您可以“玩”两个原子之间或另一个原子上的原子,具体取决于原子本身。 您可以有一个普通原子,也可以有一个特殊原子。 正常原子: 您可以在板上任意两个可用原子之间播放普通原子。 您从处于该范围内的原子开始1 to 3,但是该范围每40移动一次就增加1(因此,在40移动之后,范围变为2 to 4)。 如果板上的原子小于该范围,则有1 / no. of atoms of that number on the board可能产生。 假设您有一个2要玩的地方,董事会看起来像这样: 1 1 2 1 让我们将放在的2右侧1。 董事会现在变成: 1 1 2 1 2 注意:木板环绕,所以1最左侧的实际上2是最右侧的旁边。稍后将很重要。 有“特殊”原子的4种类型,它们是: 的+原子: 这个原子在两个原子之间起作用。它有五分之一的机会产卵。 如果原子两侧的+原子相同,则会发生聚变。运作方式如下: The two atoms fuse together to create an atom one higher. …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

30
用给定的宽度绘制空心的#
我从Codingame那里获得了这一挑战,并且对比我的更好的解决方案感到好奇: 通过标准输入给定宽度,在给定的宽度和长度上绘制一个空心的#号正方形。 例: 5结果 ##### # # # # # # ##### 我用python解决了这个问题,所以我对其他python代码特别感兴趣。但是,请随时以所需的任何语言发布您的解决方案。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

7
这是子矩阵吗?
这是该挑战的二维概括。 出于我们的目的,如果可以通过从B完全删除许多行和列来获得A,则一个矩阵(或2D数组)A被视为另一个矩阵B的子矩阵。(注意:某些来源有不同/限制性更强的定义。) 这是一个例子: A = [1 4 B = [1 2 3 4 5 6 2 1] 6 5 4 3 2 1 2 1 2 1 2 1 9 1 8 2 7 6] 我们可以从B删除第2、3、5、6和第2、4行以获得A: B = [1 2 3 4 5 6 [1 _ _ 4 _ _ …

2
这些树是同构的吗?
介绍 在这个挑战中,您的任务是编写一个程序,该程序确定两个给定的树是否同构。树表示有向无环图,其中除根节点之外,每个节点都只有一个输出边缘。如果可以通过重命名节点将一棵树转换为另一棵树,则两棵树是同构的。例如,两棵树(每个边缘朝上) 0 0 /|\ /|\ 1 3 4 1 2 5 |\ /| 2 5 3 4 很容易看出来是同构的。 我们L通过以下方式将树编码为非负整数列表。树的根具有标签0,并且还具有节点1,2,...,length(L)。每个节点i > 0都有一个传出边缘L[i](使用基于1的索引)。例如,列表(在元素下给出索引) [0,0,1,3,2,2,5,0] 1 2 3 4 5 6 7 8 编码树 0 /|\ 1 2 8 | |\ 3 5 6 | | 4 7 输入项 您的输入是两个非负整数列表,以本机格式或您的语言给出。它们以上面指定的方式编码两棵树。您可以假设以下条件: 他们不是空的。 它们具有相同的长度。 …

3
二维碰撞检测
这个挑战基于我最近不得不为一个简单的游戏编写的实际碰撞检测。 编写一个程序或函数,给定两个对象,该程序或函数将根据两个对象是否发生碰撞(即相交)来返回真实值或虚假值。 您需要支持三种类型的对象: 线段:由4个浮点数表示,指示两个端点,即(x 1,y 1)和(x 2,y 2)。您可以假定端点不相同(因此线段不会退化)。 圆盘:即实心圆,以3个浮点表示,两个为中心(x,y),一个为(正)半径r。 腔:这些是光盘的补充。也就是说,除了由中心和半径指定的圆形区域之外,空腔会填充所有2D空间。 您的程序或函数将以标识整数(您选择的形式)及其3或4个浮点的形式接收两个此类对象。您可以通过STDIN,ARGV或函数参数接受输入。您可以使用任何未经预处理的方便形式来表示输入,例如8到10个单独的数字,两个以逗号分隔的值列表或两个列表。结果可以返回或写入STDOUT。 您可以假设对象至少为10相隔 -10个长度单位或相交那么多,因此您不必担心浮点类型的局限性。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 测试用例 使用基于列表的输入格式,用表示线段,用表示0圆盘,用表示1空洞2,以下内容均应产生真实的输出: [0,[0,0],[2,2]], [0,[1,0],[2,4]] # Crossing line segments [0,[0.5,0],[-0.5,0]], [1,[0,0],1] # Line contained in a disc [0,[0.5,0],[1.5,0]], [1,[0,0],1] # Line partially within disc [0,[-1.5,0.5],[1.5,0.5]], [1,[0,0],1] # Line cutting through disc [0,[0.5,2],[-0.5,2]], [2,[0,0],1] # Line outside cavity …

20
创建一个数独解决方案CHECKER
创建Sudoku解决方案CHECKER 这里有Sudoku SOLVERS的面条,但是我希望您创建一个尽可能小巧的解决方案CHECKER(代码高尔夫球)。 一个有效的条目将能够采用9x9数组作为参数(通过引用传递,在命令行上序列化,或者您要采用它),或者接受输入文件,该文件是最后一行网格的九行九位数。请参阅下面的输入示例。 有效输入应以10为底的数字(1-9) 缺失,空,多余,非数字的位置或数字在1-9之外的位置应通过返回非零结果,打印错误或同时拒绝这两种方法而被视为无效输入。 您的程序需要测试每个数字是否在每列,每行一次和每个3x3子网格中出现一次。如果通过,则返回“ 0”,否则,返回非零结果。 避免使用外部资源(网站等)。 如果您的解决方案是独立程序,则退出状态为退出或打印时,“通过”或“失败”分别为“ 0”或非零是可以的。 让最小的答案赢! 输入示例: C数组: int input[9][9]={{1,2,3,4,5,6,7,8,9}, {4,5,6,7,8,9,1,2,3}, {7,8,9,1,2,3,4,5,6}, {2,3,1,5,6,4,8,9,7}, {5,6,4,8,9,7,2,3,1}, {8,9,7,2,3,1,5,6,4}, {3,1,2,6,4,5,9,7,8}, {6,4,5,9,7,8,3,1,2}, {9,7,8,3,1,2,6,4,5} }; 文件: 123456789 456789123 789123456 231564897 564897231 897231564 312645978 645978312 978312645 9个子网格: +---+---+---+ |123|456|789| |456|789|123| |789|123|456| +---+---+---+ |231|564|897| |564|897|231| |897|231|564| +---+---+---+ |312|645|978| |645|978|312| |978|312|645| +---+---+---+

4
确定多边形是否凸出
编写程序以确定输入多边形是否为凸面。用包含N个(顶点数)的一条线指定多边形,然后使用包含每个顶点的x和y坐标的N条线指定多边形。顶点将从任意顶点开始顺时针列出。 例子1 输入 4 0 0 0 1 1 1 1 0 输出 convex 例子2 输入 4 0 0 2 1 1 0 2 -1 输出 concave 例子3 输入 8 0 0 0 1 0 2 1 2 2 2 2 1 2 0 1 0 输出 convex x和y是整数N <1000,| …

28
找出数字是否快乐?
通过以下过程定义一个满意的数字。从任何正整数开始,用数字的平方和代替数字,然后重复此过程,直到数字等于1(它将停留在该位置),或者它在不包含1的循环中无休止地循环。对于此过程,以1结尾的是快乐数字,而没有以1结尾的过程是不快乐数字(或悲伤数字)。给数字打印是快乐还是不快乐。 Sample Inputs 7 4 13 Sample Outputs Happy Unhappy Happy 注意:对于任何小于1,000,000,000的数字,您的程序所花费的时间不应超过10秒。

15
一线键盘
挑战 这项挑战的目标是确定是否只能使用标准UK QWERTY键盘的一行来键入给定的String。 这是code golf,所以最短的解决方案以字节为单位获胜! IO 输入将是零个或多个字符的单个字符串,且在ASCII十进制范围(包括32-126)中。您可能会为这个挑战假设一个空的String不需要键入,因此可以使用一行来键入。 您可以将输入作为字符串,字符列表或您语言的等效形式。 对于可以使用单行键入的任何字符串,输出应为真值,否则为false。 键盘布局 为了澄清以下标准键盘布局的任何歧义,每一行上都有可用的键列表,包括备用的上键(使用shift访问)。 1号线 标准: `1234567890-= 2号线 标准: qwertyuiop[] 3号线 标准: asdfghjkl;'# 大写: ASDFGHJKL 特别:大写锁定 4号线 标准: \zxcvbnm,./ 备用: |<>? 大写: ZXCVBNM 特别:班次 5号线 特别:空格键 如果Shift也在同一行上,则只能按下备用的上键,并且只能通过Caps Lock或Shift来访问大写键。您实际上只能使用一根键盘线! 测试用例 -> true (empty string) 45-2=43 -> true (line 1) qwerty -> true (line 2) …

18
上还是下Wythoff?
首先,让我们谈谈Beatty序列。给定一个无理数正数r,我们可以通过将正整数乘以r并乘以每个结果计算的底数来构造无限序列。例如, 如果r > 1,则有特殊条件。我们可以形成另一个无理数s,即s = r /(r -1)。然后,这可以生成自己的Beatty序列B s。巧妙的技巧是B r和B s是互补的,这意味着每个正整数都恰好在两个序列之一中。 如果我们将黄金比例设置为r = then,则得到s = r + 1和两个特殊序列。该低Wythoff序列为[R : 1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ... 和上部Wythoff序列为小号: 2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, …

11
你能用这些骰子拼写这个单词吗?
字母骰子在文字游戏中很常见。例如,尝试用骰子拼写有趣的单词可能会很有趣。如果您抓一把骰子,则可能无法拼写某些单词。这个挑战是对这一想法的概括。 挑战 给定一个骰子列表,每个骰子至少具有一张面孔和一个单词,您的任务是确定是否可以使用给定的骰子对该单词进行拼写(在这种情况下,它应该返回真实的结果)。每个骰子只能使用一个字母,每个骰子只能使用一次。您不需要使用所有给定的骰子。 例子 在一个简单的示例中,使用骰子[[A],[C],[T]]和字符串CAT,结果为true。BAT当然会返回false,因为上面没有骰子 如果给定[[A,E,I,O,U],[A,B,C,T],[N,P,R]]作为骰子集合,则对于ART,TON和CUR将返回true ,但对于CAT,EAT和PAN则为false,因为这些字符串需要重用骰子。还应该很明显,因为没有足够的骰子,所以不能用这些骰子拼写CRAB。 如果给定[[A,B,C],[A,E,I],[E,O,U],[L,N,R,S,T]]作为骰子集合,则可以拼写CAT,BEE,BEAN,TEA,BEET和BAN,但您将无法拼写LONE,CAB,BAIL,TAIL,BAA或TON 同一骰子可能有多个。如果给定[[A,B,C],[A,B,C],[A,B,C]],您将可以拼写CAB,BAA,AAA等...但是显然没有A的话, B,或C在其中。 规则 没有利用标准漏洞 这是代码高尔夫,因此最短的代码获胜。 您可能会假设单词和骰子都只能由大写字母组成。 您可能会假设该单词的长度始终至少为1个字母,并且始终会有至少1个骰子。 您可能会认为骰子永远不会有多个相同的字母。 输入和输出可以采用任何方便的格式。

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.