Questions tagged «decision-problem»

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

14
我们跳塔
任务 给定一个非负整数数组a,请确定从数组0处“跳出”数组所需的向右跳转的最小次数,从位置0开始,或者如果不可能,则返回零/空值。 从索引的跳转i定义为最多将数组索引增加a[i]。 甲跳跃外面是一个跳转,其中从跳转结果的索引i是外的边界为阵列,所以对于基于1的索引i>length(a),以及用于基于0的索引,i>=length(a)。 例子1 考虑Array = [4,0,2,0,2,0]: Array[0] = 4 -> You can jump 4 field Array[1] = 0 -> You can jump 0 field Array[2] = 2 -> You can jump 2 field Array[3] = 0 -> You can jump 0 field Array[4] = 2 -> You can …

8
共轭排列
大小为n的排列是对前n个正整数的重新排序。(意味着每个整数出现一次且恰好出现一次)。排列可以像更改大小为n的项列表的顺序的函数一样对待。例如 (4 1 2 3) ["a", "b", "c", "d"] = ["d", "a", "b", "c"] 因此,排列可以像函数一样构成。 (4 1 2 3)(2 1 3 4) = (4 2 1 3) 这带来了许多有趣的属性。今天,我们专注于共轭。如果存在置换g和g -1(也为n),则置换y和x(均为n)是共轭的。 x = gyg-1 和GG -1等于身份置换(第一Ñ以正确的顺序编号)。 您的任务是通过标准输入法获取大小相同的两个排列,然后确定它们是否为共轭形式。您应该输出两个一致值之一,如果它们是共轭,则输出一个,如果不是,则另一个。 这是代码高尔夫球,因此答案将以字节计分,而字节越少越好。 关于共轭置换,有许多定理可供您使用,祝您好运和高尔夫愉快。 您可以将输入作为表示上述排列的值的有序容器(1-n或0-n),也可以作为接受有序容器并执行排列的函数。如果选择采用函数,则应将其作为参数,而不要使用预定义的名称。 测试用例 (1) (1) -> True (1 2) (2 1) -> False (2 …

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

12
这是序列图吗?
甲图形序列是各自是正整数,表示边缘的数目用于在一个节点的序列简单图。例如,序列2 1 1表示一个具有3个节点的图形,其中一个具有2个边,而两个具有一个连接。 并非所有序列都是图形序列。例如,2 1这不是图形序列,因为无法连接两个节点,以使其中一个具有两个边缘。 任务 您将通过任何合理的方法获取整数序列。这包括但不限于整数数组及其大小,无符号整数的链表和双精度向量。您可以假设输入中不会有零。您还可以假设输入从最小到最大或从最大到最小排序。 您必须输出该序列是否为图形序列。真值,否则为假值。 目标 这是代码高尔夫球,目标是最大程度地减少程序中的字节数 测试用例 从大到小排序 -> True 3 3 3 2 2 2 1 1 1 -> True 3 3 2 2 1 1 -> True 3 3 2 -> False 8 1 1 1 1 1 1 1 1 -> True 1 …

6
它是表情符号吗?
我最近一直在使用此iOS应用程序,遇到一个(相当容易解决的)问题:如何确定我的字符串是否仅包含表情符号? 好吧,今天就是你的工作! 输入项 一个字符串。如果Unicode字符的存在对您有问题,则可以使用其他合理的格式。如果您做的事情与常规字符串不同,请说明您的操作。 输出量 如果输入字符串仅包含表情符号,则打印或返回真实值;如果包含表情符号以外的任何字符,则打印或返回虚假值。 等一下...什么是表情符号?😅 表情符号是属于以下范围的字符: 0x1F600...0x1F64F // Emoticons 0x1F300...0x1F5FF // Misc Symbols and Pictographs 0x1F680...0x1F6FF // Transport and Map 0x2600...0x26FF // Misc symbols 0x2700...0x27BF // Dingbats 0xFE00...0xFE0F // Variation Selectors (我认为) 这是🔹code - golf🔹,因此以字节为单位的最短代码胜出❕ 测试用例 "Is it an emoji? 🤔" -> False "🔹code-golf🔹" -> False "😮 😥 …

9
这是数字吗?
序幕: 我想培训制作测试用例,所以我将尝试一些简单的方法。 挑战: 接受任何给定的(字符串)输入(在可见的ASCII范围内),并推断出它是否为数字,并输出可用于求值的值。 规则: 一个数字将只包含字符 -0123456789,. 仅要求答案才能识别-1000000000到1000000000(不包括)之间的数字,但是可以识别任意大的数字。 您可以编写完整的程序或函数。 如果是数字,请返回任何可用于识别它的内容,并在说明中记录输出(例如My program outputs T if a number, F if not.)。 输入将是ASCII范围内的任意数量的字符,或者为空(如果为空,则返回不带数字的输出内容)。 数字可以包含小数点(例如3.14)。如果是这样,它们必须在小数点前至少有一位数字,在小数点后至少有一位数字。 数字可以有前导零或尾随零(例如000001.00000)。 为了可读性,可以将数字的整数部分划分为三个数字块,并用逗号(例如1,000.23456)表示。在这种情况下,他们必须从正确的每三位数字被分为左(例如:1,234,567,10,000.202,123,234.00,0,123.293)。 负数由前导-(例如-1.23)表示。领先+以指示正数是不允许的,并且会导致在falsy输出。 异常不算作有效且可辨别的输出(除非它们可以将输出传递到标准输出流(例如,Exception on line N [...]如果将字符串放入标准输出流,则可以作为数字/非数字输出)。 测试用例: (假设My program outputs T if a number, F if not.版本) 123 -> T [on integer] -123 -> T [negative numbers …

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 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 

19
验证Brainfuck程序
Brainfuck的另一个解析问题,但是这次……有所不同。 您正在开发Brainfuck程序的公司Infinite Monkeys Incorporated中工作,以解决各种有趣的问题(偶然地,至少是偶然,毕竟该公司创建了随机程序)。但是,看来仅执行Brainfuck的快速图灵机存在语法错误的小而昂贵的问题-生成一个,计算机便爆炸了。这可能是设计缺陷,但没有人费心去寻找它为什么会发生。 由于Turing机器(尤其是快速的机器)非常昂贵(毕竟它们具有无限的RAM成本),因此最好在执行代码之前确保程序没有任何语法错误。您的公司将要运行大量代码,因此手动验证将不起作用。编写一个程序,该程序读取用于Brainfuck的STDIN代码,如果程序有任何语法错误(例如],由于没有匹配,则是语法错误),则退出状态将退出状态设置为0(错误)以外的任何值[。如果程序完全正常,则以退出状态设置为0退出。 确保您的程序正确注意到涉及的错误[]。您不希望其他计算机爆炸,对吗?哦,请确保它尽可能的短-您的老板为简短的程序付费(因为他认为这些程序很快,还是有些东西)。哦,您不必在Brainfuck中编码(实际上,您不能,因为Brainfuck不支持退出代码),您的代码将在普通计算机上运行。 因此,正如您所看到的,您的工作是检查Brainfuck程序是否“有效”(具有成对的[]符号)。请注意,Brainfuck程序可以使用以外的其他字符[],因此请勿仅因为它具有其他命令而拒绝该程序。最小的代码获胜,但无论如何,您可能会更在乎投票。

30
查找非素数
如果您选择接受它,那么您面临的挑战是对一个数字满足以下条件的函数进行编码,该函数将返回true或false(或者是yes和no的某种类似有意义的表示形式): 整数本身是质数或 它的任何一个相邻整数都是素数 例如: 的输入7将返回True。 输入8也会返回True。 输入15会返回False。(14、15或16都不是素数) 输入必须能够正确返回2 ^ 0到2 ^ 20之间的数字,因此无需担心符号问题或整数溢出。

13
我的代表是否使用Stack-Exchange表单?
前提: 如果可以通过将您的奖牌数(金,银,铜牌分别计数)分解为以10为底的数字,并以任意给定的顺序加入它们,并加一些警告,则表示您的声望采用堆栈交换形式。 分解时,每个 金牌数字代表三位数。 银牌价值两位数。 青铜是一位数字。 此外,如果您没有SE,则SE不会显示奖牌类型,因此类型的0个奖牌计数不会产生[0]。 例: [1 Gold, 2 Silvers, 3 Bronzes]将分解为[1,1,1,2,2,3]。321112和213121是这些奖牌的SE形式编号的两个示例。 [20 Golds, 0 Silvers, 20 Bronzes]将分解为[2,2,2,0,0,0,2,0]。20002022是SE格式的编号。 [11 Golds, 0 Silvers, 0 Bronzes]将分解为[1,1,1,1,1,1]。111111是唯一的SE形式编号。 考虑SE号时,不会有前导0。例如,在上述第二个示例中,00002222 -> 2222不会将视为SE格式的编号[20,0,20]。 输入输出: 输入是一个列表/元组/数组/ [reputation, gold_medals, silver_medals, bronze_medals]所有都是非负整数。这是假定的顺序,但可以更改。如果您做的话,只需在答案中做个注释即可。 输出是true和false的任何两个一致值。 规则: 输入将始终有效 您将始终至少有1个代表 您根本没有奖牌,那么那应该总是返回false。 奖牌数与现实无关。有几百个金牌,没有青铜器是很好的。 这是代码高尔夫球,因此最短答案以字节为单位。 测试用例: #[Rep, Gold, Silver, Bronze] -> Output [4, …

23
查找列表是否为ABC三重
如果三个正整数A,B,C是互质的,则它们是ABC三元组,且A <B且满足以下关系:A + B = C 例子 : 1, 8, 9 是ABC三元组,因为它们是互质的,1 <8和1 + 8 = 9 6, 8, 14 不是因为他们不是互质素 7, 5, 12 不是因为7> 5 您可以查看此Frits Beukers 2005演示文稿,以获取有关ABC-三元组的更多详细信息。 输入输出 三个整数,十进制写成。可能是单独的值或列表。无论三个整数是否是ABC三元组,输出都必须为真实/虚假值。 注意:重要的是要遵守列表中的整数顺序,例如:1, 8, 9不被视为与同一列表9, 1, 8或任何其他组合。因此,第一个是ABC三元组,第二个不是。 因此,A是列表的第一个元素,B是第二个元素,C是第三个元素。 测试用例 以下每个列表应输出真实值 [1, 8, 9] [2, 3, 5] [2, 6436341, 6436343] [4, 121, …

9
这是大尺度(或同等学历)吗?
沙盒 主音阶(或爱奥尼亚音阶)是最常用的音阶之一,尤其是在西方音乐中。它是全音阶音阶之一。像许多音阶一样,它由七个音符组成:第八个音符以其两倍的频率复制第一个音符,因此它被称为同一音符的更高八度。 七个音符是: C,D,E,F,G,A,B和C(出于示例目的而重复) 大尺度是全音阶。将先前的音符序列作为主要音阶(实际上,它是音阶C Major)。大音阶音符之间的间隔顺序为: 整个,整个,一半,整个,整个,整个,一半 其中“整个”代表整个音调(图中红色的U形曲线),“半”代表半音(图中红色的虚线)。 在这种情况下,从C到D存在一个整体色调,从D到E存在一个整体色调,从E到F存在一个半色调,等等。 我们有2个成分会影响音符之间的音调距离。它们是尖锐符号(♯)和扁平符号(flat)。 尖锐符号(♯)为音符增加半音。例。从C到D,我们提到存在一个完整的音调,如果我们用C♯代替C,那么从C♯到D则存在一个半音。 扁平符号(♭)与夏普符号相反,它从音符中减去半音。示例:从D到E,我们提到存在一个完整的音调,如果我们使用Db代替D,则从Db到E则存在一个音调的一半。 默认情况下,随音符存在一个全音,除了E to F和B to C在短短半音。 请注意,在某些情况下,使用谐音音调可以创建与大音阶等效的音调。这样的一个例子是C#, D#, E#, F#, G#, A#, B#, C#其中E#和B#是等音但规模如下一个主标度的序列。 挑战 给定标度,如果是大标度或等效标度,则输出真实值,否则输出伪值。 规则 允许使用标准I / O方法 适用标准代码高尔夫球规则 您无需考虑8号音符。假设输入将仅包含7个注释 假设不存在双平(♭♭),双尖(♯♯)或自然符号(♮) 测试用例 C, D, E, F, G, A, B => true C#, D#, E#, F#, G#, A#, …

13
此字符串是回文(莫尔斯电码)吗?
挑战 灵感来自这个视频 如您所知,回文词是一个正反拼写相同的单词。“ PULP”一词不是回文,但是当翻译成摩尔斯电码(去掉字母之间的空格)后,“ PULP”变成“ .--...-.-...--”。这是回文。您的任务是编写一个程序或函数,该程序或函数接受一个字符串并返回该单词是否是国际摩尔斯电码中的回文。 A: .- B: -... C: -.-. D: -.. E: . F: ..-. G: --. H: .... I: .. J: .--- K: -.- L: .-.. M: -- N: -. O: --- P: .--. Q: --.- R: .-. S: ... T: - U: ..- V: ...- …

7
魔术:具有能力的聚会战斗
有关 目标: 给定两个具有可选战斗能力的生物,返回唯一但一致的值,该值表示哪些生物死亡(如果有)。 输入: #Longest form: [[P,T, "<abilities>"], [P,T, "<abilities>"]] #Shortest form: [[P,T], [P,T]] 每个生物将以的形式给出[P,T,"<abilities>"]。它将采用,或的形式[P,T],如果没有能力,则由您选择。P是> = 0的整数,T是> = 1的整数。是的子集,或者可以根据需要通过单个数字/位串表示。标志的顺序也由您决定。[P,T,""][P,T,0]<abilities>"DFI" 战斗力学: 每个生物都有两个属性,分别是力量和防御力,以及可选能力。生物的力量> = 0。生物的韧性> = 1。 每个生物都会同时对对方生物造成等同于其力量的伤害(除非有第一击)。如果该值大于或等于对手的韧性,则它将死亡(除非它是坚不可摧的)。 示例:Alice是a 2/2,Bob是a 3/4,两者都没有能力。爱丽丝会对鲍勃造成2点伤害,并以3点伤害作为回报。爱丽丝的韧性是2,所以它会死,鲍勃的韧性是4,所以它会活下去。 我们将为此考虑3种可选功能(尽管游戏中还有更多功能)。这些将是一个字符标志: [D]触摸:任何程度的伤害(X> 0)被认为是致命的。 [F] irst Strike:将首先造成其伤害,能够杀死另一只生物,然后再发起攻击。如果两个生物都具有“先攻”,则照常结算战斗。 不可破坏:没有任何致命的伤害,包括死亡之触。 输出: 以下四种情况的任何一致值。请说明您的答案中的四个值。示例返回值(以括号为单位): 两人均未死亡(0) 第一个生物死亡(1) 第二生物死亡(2) 两个生物都死了(3) 规则: 确保输入具有两个正确格式的生物。 如果您使用角色的异能,则可以假定已按照想要的顺序对它们进行了排序,但如果相关,则发布使用的顺序。 如果您使用数字/位串表示能力,请张贴您正在使用的编码。例如:111is D/F/I,7is D/F/I,等等。 如果一个生物没有异能,也可以当作[P,T, ""]或等同于数字 …

12
这是练习集吗?
我们都知道,很多运动只影响身体的一半,因此您必须做两次,每一侧一次。这种练习有两个对应项,一个对应左侧,一个对应右侧。但是,只要双方的练习顺序相同,就不必连续执行两个对应的任务。您也可以在锻炼程序中在两边之间进行切换,但是从一侧开始进行一些练习而从另一侧开始进行一些练习则没有意义。 挑战 一个运动部分是非零整数,其中其第二部分包含否定了上半年的整数,并以相同的顺序列表,并在每个半整数的迹象是相等的。练习部分上半部分的标志是其领先的一面。 一个锻炼组是连接在一起的同一侧领先零个或多个运动部件。 给定一个非零整数列表作为输入,请确定它是否为练习集。整数不一定是唯一的。列表的长度不一定是偶数。 您的解决方案可能不使用任何标准漏洞。您可以使用任何两个不同的一致值进行输出。这是代码高尔夫球,因此最短的解决方案是成功的。 例子 [-5, -1, -7, -6, -5, 5, 1, 7, 6, 5]是运动部分的一个例子。前半部分是[-5, -1, -7, -6, -5],后半部分是[5, 1, 7, 6, 5],这是上半部分取反的每个整数。此外,前半部分的整数都是相同的符号。本练习部分的主要内容是-1。 [3, 6, 5, -3, -6, -5, 1, 6, 4, 3, -1, -6, -4, -3]是练习集的一个例子。它的各个运动部分分别是[3, 6, 5, -3, -6, -5]和[1, 6, 4, 3, -1, -6, -4, …

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.