Questions tagged «decision-problem»

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

14
这是一个截断的三角形数字吗?
相关OEIS序列:A008867 截断三角数 三角数的一个共同属性是它们可以排列成三角形。例如,取21并排列成os 的三角形: Ø OO oo oo oo oo 让我们定义一个“截断:”从每个角切割相同大小的三角形。截断21的一种方法如下: 。 。。 oo oo 。oo。 。。哦。。 (的三角形.是从原始三角形切出的)。 o剩下12 秒,因此12是一个截断的三角形数字。 任务 您的工作是编写一个程序或函数(或等效函数),该程序或函数采用整数并返回(或使用任何标准输出方法)数字是否为截断的三角形数字。 规则 没有标准漏洞。 输入是非负整数。 切口的边长不能超过原始三角形的一半(即,切口不能重叠) 切口的边长可以为零。 测试用例 真相: 0 1 3 6 7 10 12 15 18 19 虚假: 2 4 5 8 9 11 13 14 16 17 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

23
列表是可分割的吗?
启发(与解释被盗)本 背景 假设您有两个列表A = [a_1, a_2, ..., a_n]和B = [b_1, b_2, ..., b_n]整数。我们说A是潜在的,可分割的B,如果有一个置换B,使得a_i整除b_i所有i。问题是:是否可以重新排序(即置换)B以便所有人都a_i可以整除?例如,如果您有b_ii A = [6, 12, 8] B = [3, 4, 6] 那么答案是True,因为B可以重新排序是B = [3, 6, 4],然后我们就会有a_1 / b_1 = 2,a_2 / b_2 = 2和a_3 / b_3 = 2,所有这一切都是整数,因此A是潜在的,整除B。 作为应该输出的示例False,我们可以有: A = [10, 12, 6, 5, 21, 25] B …

15
预测碰撞:强盗会逃脱吗?
将一条道路视为一条数字线,从起点开始0并无限期地延伸: ................................................................. 路上有两辆车:C和R。C是试图抓住的警察R,强盗。C在开始0,并R开始在道路上的某个地方: C.............................R.................................. 警察已经在移动-他正在追捕强盗。他的速度恒定。强盗刚跳上他的车。他在加速。每一刻,强盗的速度都随着他的加速而增加。 说警察的速度是7,强盗的加速度是1。如果抢劫犯始于30,这是每次滴答声时的样子: C.............................R.................................. .......C.......................R................................. ..............C..................R............................... .....................C..............R............................ ............................C...........R........................ ...................................C.........R................... ..........................................C........R............. .................................................C........R...... 在上述最后一个滴答声之后,强盗的速度等于警察的速度,他仍然领先。由于警察以恒定的速度移动并且强盗仍在加速,因此强盗逃逸,因此您输出的是真实值。但是,如果警察的速度9... C.............................R.................................. .........C.....................R................................. ..................C..............R............................... ...........................C........R............................ ....................................C...R........................ .............................................X................... ...然后警察在强盗可以离开之前赶上强盗(用标记X),因此您输出假值。 你的任务 给定三个输入-警察的速度,强盗的位置和强盗的加速度-确定强盗是否会逃脱。 规则 警察总是从开始0。 所有输入均为正整数。 如果在任何滴答声后,警察的位置大于或等于强盗的位置,则警察会抓住强盗。 尚未被抓的强盗就逃走了,他的速度比警察的还快。 您的程序必须在输出后终止。 强盗在移动每个刻度之前就加速了。 测试用例 Cop Speed, Robber Position, Robber Acceleration -> Output 7, 30, 1 -> truthy 9, 30, 1 -> falsey …

28
这些标识符是否等效?
在Nim语言中,用于区分标识符的规则比大多数其他语言稍微宽松一些。如果两个标识符遵循以下规则,则它们是等效的或寻址相同的变量: 两者的第一个字符相同 (区分大小写) 两个字符串相同(壳体在敏感)除去后的所有实例的字符-和_ 挑战 编写一个程序/函数,该程序/函数接受两个表示Nim标识符的字符串,并根据上述规则是否等效来输出真值或假值。 技术指标 适用标准I / O规则。 标准的漏洞被禁止。 字符串将仅包含ASCII可打印内容。你并不需要检查它是否是一个有效的标识符。 字符串可以作为两个单独的输入,字符串列表等(您知道练习) 空字符串无需处理。 真值和假值的输出必须一致。 挑战不是要找到所有语言中最短的方法,而是要找到每种语言中最短的方法。 除非另有说明,否则您的代码通常以UTF-8编码形式以字节计分。 允许执行此任务的内置函数,但鼓励使用不依赖内置函数的解决方案。 鼓励甚至对“实用”语言进行解释。 测试用例 Input Output count, Count falsey lookMaNoSeparator, answer falsey _test, test falsey test, tset falsey aVariableName, a_variable_name truthy numbers_are_cool123, numbersAreCool123 truthy symbolsAre_too>_>, symbols_areTOO>> truthy 未引用的参考实现 这是用Nim编写的。 import strutils, re proc sameIdentifier(a, …

16
矩阵的行/列中是否有N个连续出现的数字?
以包含正整数和单个正整数N的矩阵A作为输入,并确定矩阵中的任何行或列中是否至少有N个连续的相同数字出现。 您只需要水平和垂直测试。 测试用例 N = 1 A = 1 Result: True ---------------- N = 3 A = 1 1 1 2 2 3 Result: True ---------------- N = 4 A = 1 1 1 2 2 3 Result: False ---------------- N = 3 A = 3 2 3 4 2 …

30
我是一个自构数字吗?
自守数字是一个以10为底的正方形后缀的数字。这是OEIS中的序列A003226。 你的任务: 编写程序或函数以确定输入是否为自守数字。 输入: 0到10 ^ 12(含)之间的整数,可以是也可以不是自守数字。 输出: 真/假值,指示输入是否为自变形数。 例子: 0 -> truthy 1 -> truthy 2 -> falsy 9376 -> truthy 8212890625 -> truthy 得分: 这是代码高尔夫,以字节为单位的最低得分获胜。

18
会重复吗?
如果一个字符串包含两个相等的连续子字符串,则重复该字符串。 例如,连续2034384538452重复3845两次,因为它包含两次。 因此,您面临的挑战是确定字符串是否包含重复的子字符串。您可以将输入作为字符串或字符数组。 您将永远不会收到空的输入,并且子字符串的长度(如果存在)可能为1或更大。 我使用1和0这里作为我的真实和虚假价值观,但您可以使用其他值,只要它们在您的语言中是真实和虚假的即可。 例子: abcab -> 0 bdefdefg -> 1 Hello, World! -> 1 pp.pp/pp -> 1 q -> 0 21020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021012102012101202102012021012102012021020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020120210201210120210201202101210201210120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120 -> 0 (最后一个示例是从Thue-Morse序列中每个零之间的一的数量产生的)

30
确定数组是否包含2以外的值
取一个由数字或数组组成的数组,如果只包含2s 则输出。 输出应为真或假值(很抱歉,如果这样会破坏答案) 真实的测试案例 [2] [2,2] [[2],[2,2],2] [] [[],[]] 虚假测试用例 [1] [22] [2,2,2,1] [[1,2],2] 禁止使用标准漏洞。 默认IO规则适用。 代码高尔夫球,最少字节获胜!

10
连接四个验证器
介绍 Connect Four是一款您尝试连续获得四个的游戏:水平,垂直或对角线。在此代码高尔夫球中,我们将尝试确定给定游戏板的人。永远只有一名获胜者,而只有一名获胜者。 任务 给定一个四连板,确定谁是赢家:X或Y。永远只有一名获胜者,而只有一名获胜者。面板尺寸将始终为6 x 7,就像游戏板上的图片一样。 给定一个板,以下板在这种情况下X为红色和Y蓝色: 您的输入将是: OOOOOOO OOOOOOO OOOOOOO OOOOXOO OOOXXOO OOXYYYY 您可以按换行符(如上)分隔游戏的行,不使用分隔符,可以将行划分为数组或列表,也可以输入字符矩阵。 此示例的正确输出: Y Y连续四个;因此,Y是赢家。因此,我们输出Y。 测试用例 输入: OOOOOOO OOOOOOO OOOOOOO OOOOOOO OOYYOOO OYXXXXO 输出: X 输入: OOOOOOO OOOOOOO OOOOOOO XXXXOOO YXYYOOO YXYYXYX 输出: X 输入: YXYYXOO XYXXYOO XXXYYOO YYYXXOO XXYYYYO XXYYXXO 输出: Y 输入: OOOOOOO OOOOOOO …

9
是在康托集内吗?
挑战 对于这个挑战,您应该确定Cantor集中是否有给定的数字。首先,让我们定义Cantor集。 首先,从0到1之间的数字开始。超出此范围的任何数字均不在Cantor集中。现在,让我们将数字分为三个相等的部分:[0,1 / 3],[1 / 3,2 / 3],[2 / 3、1]。不在第一部分和最后一部分范围内的任何数字都不在Cantor集中。现在,对段[0,1 / 3]和[2/3,1]重复此过程。然后,您重复剩余的内容。您会永远这样做。最后,所有剩余的数字都在Cantor集中。这是前六个迭代的图表: 输入值 两个整数x和y。 0 < y < 2^15 0 <= x <= y 最大的共同点x和y为1,除非x == 0。 输出量 如果x/y在Cantor设置中,则为真。 如果x/y不在Cantor集合中,则为假。 例子 现在,让我们看一下Cantor集中的一些数字示例。 1/3 -> true 它在边界上,并且边界永远不会删除。 1/4 -> true 1/4永远不会位于细分的中间三分之一,尽管它也永远不会位于边界上。如果遵循它的路径,您实际上会发现它在节的前三分之一和后三分之一之间交替出现。 1/13 -> true 1/13 在第一部分,第一部分和最后一部分之间切换。 1/5 -> false 1/5 …

7
数字键词搜索
给定一个介于1到999之间(含1和999)的整数,如果它在标准数字键盘上的3x3正方形数字1-9中的任何位置水平,垂直或对角地向前或向后出现,则输出真实值: 789 456 123 如果没有出现该数字,则输出一个伪造的值。 您需要输出真实值的确切65个数字是: 1 2 3 4 5 6 7 8 9 12 14 15 21 23 24 25 26 32 35 36 41 42 45 47 48 51 52 53 54 56 57 58 59 62 63 65 68 69 74 75 78 84 85 86 …

10
支架平衡
您将得到一个(可能为空)字符串,其中包含方括号([{()}])和其他任何字符(A- Z,a- z,0- 9,标点符号)。您需要检查其是否遵循以下规则: 非方括号字符将被忽略。 每个开放式括号[{(都有一个封闭式括号)}]。所以[](是不允许的。 支架正确嵌套。[(])不允许。 弯括号中不能包含方括号。简单括号内不能包含大括号或方括号。因此[({})],[{[]}]并且({})是不允许的。括号可以与类似的括号嵌套,因此[[{((()))}{{(())}}]()]{()}是允许的。 根据您的选择,输出是单个真实/错误值。 最短的代码胜出。 测试用例 b[[a{(/)}(())+={{}-}],] ->有效 ([h][e][l][l][o]) ->无效 [///[{(\/(arg()))}1{{((-)-2)}}]()]{()} ->有效 hi ->有效

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

3
一个上升,另一个下降
介绍 在这个挑战中,您的任务是确定给定的数字序列是否可以分为两个子序列,其中一个在增加,另一个在减少。例如,考虑序列8 3 5 5 4 12 3。它可以分为两个子序列,如下所示: 3 5 5 12 8 4 3 第一行的子序列增加,第二行的子序列减少。此外,您应该有效地执行此任务。 输入项 您的输入是一个非空L的整数列表,范围在0到99999(含)之间。它以您的语言的本机格式给出,或仅由空格分隔。 输出量 如果L可以分解为递增和递减子序列,则输出为真值,否则为假值。子序列不必严格增加或减少,它们中的任何一个都可以是空的。 规则和奖金 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。此外,在此挑战中禁止强行使用:您的程序必须在输入长度内以多项式时间运行。 您不需要实际返回这两个子序列,但是这样做有-20%的奖金。为了使奖金更容易以静态类型的语言申领,可以为伪造的实例返回一对空列表。 测试用例 input -> None以错误输入和input -> inc dec真实输入的格式给出。这里只给出一对可能的子序列。可能还有更多。 [4,9,2,8,3,7,4,6,5] -> None [0,99999,23423,5252,27658,8671,43245,53900,22339] -> None [10,20,30,20,32,40,31,40,50] -> None [49,844,177,974,654,203,65,493,844,767,304,353,415,425,857,207,871,823,768,110,400,710,35,37,88,587,254,680,454,240,316,47,964,953,345,644,582,704,373,36,114,224,45,354,172,671,977,85,127,341,268,506,455,6,677,438,690,309,270,567,11,16,725,38,700,611,194,246,34,677,50,660,135,233,462,777,48,709,799,929,600,297,98,39,750,606,859,46,839,51,601,499,176,610,388,358,790,948,583,39] -> None [0,1,2,3,4] -> [0,1,2,3,4] [] [4,3,2,1,0] -> [] [4,3,2,1,0] …

10
迷宫可以解决吗?
难题 如果迷宫n * m无法解析,则打印0 如果可以解决迷宫n * m(以1种或多种方式),则打印1。 (所以我不是在问路径,但是是否有可能解决!!!) 输入数组(2d): [[0,0,0,0,0,0,1],[0,0,0,0,0,1,0],[0,0,0,0,1,0,0],[1,0,0,0,0,0,0]] XXXXXXXXX XS XX X X X X X X XX FX XXXXXXXXX 0 = can pass through 1 = can not pass trough [0][n] is the last block of the first line [m][0] is the first block of the last …

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.