Questions tagged «decision-problem»

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

15
匹配罗马数字
挑战 给定一些输入字符串,如果它表示介于1(= I)和3999(= MMMCMXCIX)之间的正确罗马数字,则返回真实值,否则返回假值。 细节 输入是一个仅包含字符的非空字符串IVXLCDM。 罗马数字(我们在本次挑战中在此处使用)的定义如下: 我们仅使用以下符号: Symbol I V X L C D M Value 1 5 10 50 100 500 1000 要定义哪些字符串实际上是有效的罗马数字,可能最容易提供对话规则:写一个十进制数字a3 a2 a1 a0(每个ai数字代表一个数字。例如,表示792我们有a3=0, a2=7, a1=9, a0=2。)作为罗马数字,我们将其分解变成数十的力量。十的不同幂可以表示如下: 1-9: I, II, III, IV, V, VI, VII, VIII, IX 10-90: X, XX, XXX, XL, L, LX, LXX, LXXX, …

12
矩阵是正定的吗?
介绍 今天我们要照顾第一年线性代数学生的祸根:矩阵定性!显然这还没有挑战,所以我们开始: 输入项 任何方便格式的n×nn×nn\times n 对称矩阵AAA(当然,您也可以只取矩阵的上部或下部) 可选:矩阵的大小nnn 该怎么办? 挑战很简单:给定一个实值矩阵n×nn×nn\times n矩阵,如果输出真值,则输出真值,否则输出假值,从而确定其是否为正定值。 您可能会假定内置程序能够真正正确地工作,因此不必考虑数值问题,如果“可证明”的策略/代码产生正确的结果,则可能导致错误的行为。 谁赢? 这是代码高尔夫球,因此以字节(每个语言)为单位的最短代码为准! 反正矩阵是什么? 当对称矩阵为正定时,显然有6个等价公式。我将重现这三个简单的文章,并为更复杂的文章引用Wikipedia。 如果∀v∈Rn∖{0}:vTAv>0∀v∈Rn∖{0}:vTAv>0\forall v\in\mathbb R^n\setminus \{0\}: v^T Av>0则AAA是正定的。可以将其重新公式化为:如果对于每个非零向量vvv,vvv和AvAvAv的(标准)点积为正,则AAA为正定。 让λii∈{1,…,n}λii∈{1,…,n}\lambda_i\quad i\in\{1,\ldots,n\}是特征值的AAA,如果现在∀i∈{1,…,n}:λi>0∀i∈{1,…,n}:λi>0\forall i\in\{1,\ldots,n\}:\lambda_i>0(这是所有本征值是正的),然后AAA是正定的。如果您不知道特征值是什么,我建议您使用自己喜欢的搜索引擎进行查找,因为本文中的解释(以及所需的计算策略)太长了。 如果乔列斯基分解的AAA存在,即存在一个下三角矩阵LLL使得LLT=ALLT=ALL^T=A然后AAA是正定的。请注意,如果在任何时候由于负参数导致算法期间根的计算失败,则这等效于提早返回“ false”。 例子 为真实输出 ⎛⎝⎜100010001⎞⎠⎟(100010001)\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix} ⎛⎝⎜⎜⎜1000020000300004⎞⎠⎟⎟⎟(1000020000300004)\begin{pmatrix}1&0&0&0\\0&2&0&0\\0&0&3&0\\0&0&0&4\end{pmatrix} ⎛⎝⎜52− 121个− 1− 1− 13⎞⎠⎟(52−121−1−1−13)\begin{pmatrix}5&2&-1\\2&1&-1\\-1&-1&3\end{pmatrix} ⎛⎝⎜1个− 22− 2502030⎞⎠⎟(1−22−2502030)\begin{pmatrix}1&-2&2\\-2&5&0\\2&0&30\end{pmatrix} (7.152.452.459.37)(7.152.452.459.37)\begin{pmatrix}7.15&2.45\\2.45&9.37\end{pmatrix} 虚假输出 (至少一个特征值是0 /正半定) ⎛⎝⎜3− 22− 240202⎞⎠⎟(3−22−240202)\begin{pmatrix}3&-2&2\\-2&4&0\\2&0&2\end{pmatrix} (特征值具有不同的符号/不确定) ⎛⎝⎜1个000− 10001个⎞⎠⎟(1000−10001)\begin{pmatrix}1&0&0\\0&-1&0\\0&0&1\end{pmatrix} (所有特征值均小于0 /负定数) …

30
我发声的速度有多快?
介绍 我的汽车车速表被黑了!它没有显示我开车的速度,而是显示:“ Vroooom!” 请帮助我知道我要走多快。 挑战 接受一个字符串作为输入,并检查它是否与regex相匹配/^[Vv]ro*m!$/m。用英语表示字符串的任何行必须以大写字母或小写字母开头v,然后是小写字母r,然后是任意数量(包括零)的小写字母o,然后是确切的字符串m!。可能还有其他行,但是Vroom字符串必须在其自己的行上。 如果找到匹配项,则必须计算oVroom字符串中的数量并输出。但是,如果找不到匹配项,则应输出否则无法输出的任何默认值(例如-1或空字符串) 提醒事项 I / O采用任何合理的格式 禁止标准漏洞 提交内容可能是完整的程序或功能 输入保证只有1个Vroom字符串 计分 这是code-golf,因此以字节为单位的最短代码获胜。但是,我不会将任何答案标记为已接受。 测试用例 输入项 Vrom! 输出量 1 输入项 vrooooooom! 输出量 7 输入项 Hello, Vroom! 输出量 (none) 输入项 Foo bar boo baz Vrooom! hi 输出量 3 输入项 Vrm!ooo 输出量 (none) 输入项 PPCG puzzlers pie 输出量 (none) 输入项 …

11
插座-插头兼容性
带电子设备旅行总是很有趣,尤其是当您需要适配器充电时。您面临的挑战是通过检查给定的插头是否与给定的插座兼容来使旅行计划变得更加容易。 挑战 给定插头类型和插座类型,返回一个值,该值指示它们是否可以一起工作。 相容性表 Socket Accepted plugs | Plug Accepting Sockets A A | A A, B B A, B | B B C C | C C, D, E, F, H, J, K, L, N, O D C, D, E, F | D D E C, E, F | …

5
修改过的Boggle Checker,具有修改过的Boggle-able代码
背景 Boggle是一种棋盘游戏,玩家必须在4 x 4的随机字母板上找到英语单词。可以通过依次选择板上的相邻单元来构造单词。(“相邻”表示水平,垂直或对角线相邻。)而且,同一单元格在一个单词中不能多次使用。 以下是示例板: I L A W B N G E I U A O A S R L 在这个棋盘上,BINGO,ORANGE和WEARS是有效的话,但SURGE并RUSSIA没有: SURGE:板上没有相邻的对RG。 RUSSIA:S不能使用两次。 修改后的Boggle是Boggle的修改版,具有以下规则: 电路板尺寸为n-by- n,其中n可以为任何正整数。 每个单元格可以包含0到255之间的任意一个字节。 一个单元可以使用一次以上,但不能连续使用两次。 使用例如板的上方,除BINGO,ORANGE并且WEARS,LANGUAGE成为有效的字符串(因为G在一行被使用两次,而不是两次),但RUSSIA仍然没有(由于SS对)。 这是另一个使用代码片段的示例。该字符串from itertools import*\n可以在以下主板中找到,但不from itertoosl import*还是from itertools import *: f i ' ' s r t m l e o o …

3
交换程序一半以测试除数
四个整数序列 在此挑战中,您将测试正整数的四个不同属性,由以下序列给出。正整数N为 如果N的适当除数之和等于N,则为完美(OEIS A000396)。序列以6,28,496,8128,33550336,8589869056,137438691328,2305843008139952128 ...开始 如果N的除数为N的除数,则可重构(OEIS A033950)。序列以1,2,8,8,9,12,18,24,36,40,56,60,72,80,84,88,96,104,108,128 ...开始 实际(OEIS A005153)中,如果每个整数1≤ķ≤Ñ是一些不同的除数的总和Ñ。序列以1,2,4,4,6,12,12,18,20,24,28,30,32,36,40,42,48,54,56 ...开始 如果每个数字1≤K <N的除数严格小于N,则为高度复合(OEIS A002128)。该序列以1、2、4、6、12、24、36、48、60、120、180、240、360、720、840、1260、1680、2520、5040开头。 四个程序 您的任务是编写四个程序(表示完整程序,函数定义或通过任何标准方法执行I / O的匿名函数)。每个程序应解决这些序列之一的成员资格问题。换句话说,每个程序将以N≥1的正整数作为输入,如果N在序列中,则输出真实值;否则,输出虚假值。您可以假定N在编程语言的标准整数类型的范围内。 程序必须以以下方式关联。有四根弦ABCD,使得 AC 是识别完美数字的程序。 AD 是识别可重构数字的程序。 BC 是识别实际数字的程序。 BD 是识别高度合成数字的程序。 计分 您的分数是字符串的总长度(以字节为单位)ABCD,或者换句话说,是四个程序的总字节数除以2。每种编程语言中得分最低的是获胜者。适用标准代码高尔夫球规则。 例如,如果四个字符串是a{,b{n,+n}和=n}?,然后将四个节目是a{+n},a{=n}?,b{n+n}和b{n=n}?,比分是2 + 3 + 3 + 4 = 12。

30
确定是还是否?
输入字符串[length 1-20]后,仅包含字符y(是)和n(否),您的程序应输出结果(y或n)。输入示例:yynynynny将输出y。 通过以下方式组合y和n来确定结果: y es和n o等于n o Ÿ ES和ÿ ES等于ÿ ES n o和n o等于y es 如果字符串包含两个以上的字符(可能是...),则计算结果将相同。例子: y es和y es和n o等于n o(因为“否”与第一个“是”到“否”合并,然后不存在且“是”,并且同样的情况再次发生) n o和n o和n o等于 n o(前两个no合并为yes,然后有yes和no left,出现为no) 输入与输出示例: yynynynynyyn = n 提示:请记住,程序运行的字符顺序无关紧要。(例如,您可以从背面读取输入,也可以从后面读取输入,混合字母,对其进行排序,无论如何。最重要的是正确的输出)玩得开心! 获胜标准:这是代码高尔夫球,因此以字节为单位的最短代码获胜。

19
使用矩形代码检测矩形文本
给定一串可打印的ASCII文本(包括换行和空格),该字符串包含至少一个既不是换行也不是空格的字符,如果该字符串是矩形,则输出真实值,否则输出假值。此外,您的解决方案的源代码必须为矩形。 如果字符串满足以下所有条件,则为矩形: 第一行和最后一行不包含空格。 每行的第一个和最后一个字符不是空格。 所有行具有相同数量的字符。 例如,以下文本是矩形: abcd e fg hijk 但是,该文本不是矩形(要求3): 1234 567 8900 测试用例 真相: sdghajksfg asdf jkl; qwerty u i op zxcvbn 1234 5 6 7890 abcd e fg hijk 虚假: a b c 123 456 7 9 12 345 qwerty uiop zxcvnm 1234 567 8900 这是代码高尔夫球,因此以字节为单位的最短解决方案为准。

13
检查矩阵中是否所有非零元素都已连接
输入: 包含[0-9]范围内的整数的矩阵。 挑战: 确定是否所有非零元素都垂直和/或水平连接。 输出: 甲truthy值,如果所有被连接,并且一个falsy值是否有非零元素/未连接到其它元件/组的基团。 测试用例: 测试用例以行分隔。在这里可以以更方便的格式找到测试用例(对Dada表示感谢)。 以下所有内容均已连接,应返回真实值: 0 --- 0 0 --- 1 1 1 0 0 0 --- 1 0 0 1 1 1 0 0 1 --- 0 0 0 0 0 0 0 0 3 5 1 0 0 1 0 2 0 1 1 …

19
使三角计划有效
三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式: 对于第nth行代码,其上必须完全2n-1有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 每行.的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1 例如,左侧的程序有效,而右侧的程序无效: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 当布置在有效结构中时,该名称变得显而易见。 任务 您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。 I / O规格: 输入将仅包含范围内的字符 0x20 - 0x7e 输入的长度始终是一个平方数,因此可以很好地填充。 您必须将点用于输出填充,而不要使用其他东西。 您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 input ---- output g ---- g PcSa ---- .P. …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

21
重复字节计数器
您的任务是编写一个字节数为L的非空程序/函数,该程序/函数重复M次后,将检查给定的正整数N是否等于L×M。 理论上,您应该支持任意数量的重复(M的任意正整数值),但是如果由于语言限制,它不能超过某个阈值就可以了。严格禁止阅读程序的源代码或访问有关它的信息。 为了提供输出,您应该为一个状态(真或假)选择一个一致的值,并为另一种状态使用其他任何(不一定一致)的可能输出(Discussion)。 您的答案将由您初始程序的长度L(以字节为单位)进行评分,字节越少越好。 例 假设您的(初始)程序为ABCDE。然后: ABCDE(1次重复)应检查输入是否等于5。 ABCDEABCDE(2次重复)应检查输入是否等于10。 ABCDEABCDEABCDE(3次重复)应检查输入是否等于15。等等... 该示例代码的分数为5,因为初始源的长度为5个字节。

14
它是洗牌吗?
昨天我问这个约洗牌洗牌的问题。似乎昨天的问题有点太难了,所以这个问题是相关但容易得多的任务。 今天,您被要求确定排列是否实际上是浅滩混洗。我们对浅滩混洗的定义是根据我们上一个问题改编的: 洗牌的第一部分是鸿沟。在分隔分区中,一副纸牌一分为二。这两个小节必须是连续的,互斥的和详尽的。在现实世界中,要使您的分区尽可能地接近,但是在此挑战中,这不是要考虑的问题,所有退化的分区(一个分区为空)都是同等考虑的。 分区后,将卡拼接在一起,以使卡在它们所属的分区内保持其相对顺序。例如,如果卡片A在卡组中的卡片B之前,并且卡片A和B在同一分区中,则在最终结果中,卡片A必须在卡片B之前,即使它们之间的卡片数量增加了。如果A和B在不同的分区中,则它们在最终结果中可以采用任何顺序,而不管它们的开始顺序如何。 然后,可以将每个浅滩混洗视为原始纸牌的排列。例如排列 1,2,3 -> 1,3,2 是浅滩洗牌。如果你像这样分割甲板 1, 2 | 3 我们看到其中的每张卡1,3,2与其分区中的每张其他卡具有相同的相对顺序。 2仍在1。 另一方面,以下排列不是浅滩混洗。 1,2,3 -> 3,2,1 我们可以看到这一点,因为对于所有两个(非平凡的)分区 1, 2 | 3 1 | 2, 3 有一对卡不保持其相对顺序。在第一个分区1,并2改变他们的排序,而在第二个分区2,并3改变它们的顺序。 任务 通过任何合理的方法给定排列,确定它是否代表有效的浅滩混洗。您应该输出两个不同的常数值,一个用于“是,这是浅滩混洗”,另一个用于“不,这不是浅滩混洗”。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 1,3,2 -> True 3,2,1 -> False 3,1,2,4 -> True 2,3,4,1 -> True 4,3,2,1 -> False 1,2,3,4,5 -> …

7
嗯,是hai句吗?
因此,您想创建一个句,但是不确定它是否遵循句的音节规则。 我不会像平常那样烦恼编写适当的Blub,因此您必须这样做。让我们陷入困境。 在野外寻找a句 为了这个挑战,我们将检查给定的诗是否满足以下条件: 三行。 第一行有5个音节。 第二行有7个音节。 第三行有5个音节。 每行由一个或多个单词组成,并用空格隔开。这些单词不一定是有效的英语单词。 每个单词被分成多个音节,然后对这些音节进行计数以获得行的总音节数。 一个音节有2到3个部分:开头,结尾,可能还有中间。每个部分或者是一个组的consonsants(也称为一个辅音簇,如s,sk或spl),或一组元音(例如i,ea或oui)。 如果开头是一组辅音,则中间将是一组元音,而结尾将是一组辅音。如果开始是一组元音,则结束将是一组辅音,而没有中间。 例如,该单词example由三个音节ex,am和组成ple。ple没有结尾,因为它被单词的结尾部分缩短了。 作为另一个示例,该单词syllable还具有三个音节syll,abl和e,它们也没有结尾。 对于最后一个例子,该单词word有一个音节,word以一组辅音结尾。 挑战 给定一个字符串,一个字符串列表,一个列表列表或任何其他代表至少一行诗的合理格式,请确定其是否满足上述概述的hai句的标准,并返回结果。 您可以采用以下任何一种格式返回结果: 如果这首诗是句而虚假的话,则为真值。 如果这首诗是句,则为假值,否则为真值。 如果诗歌是po句,则来自提交中指定的有限范围内的值,并且提交中也指定来自相互排斥的有限范围内的值。 您可能还假定这首诗不包含任何非字母字符,但是您可能不会假定这首诗完全是大写或小写。 为了这个挑战的目的,Y是一个元音。 测试用例 特鲁西 This is a haiku Yes it truly is one See what I did man I am so tired of writing this already when can I …

21
它会定期振荡吗?
挑战 给定一个列表,确定将列表分组为增加和减少元素的运行是否将导致大小相等的列表的列表。 换句话说,列表的“转折点”平均间隔开。 例 这是一个例子: 0, 3, 7, 5, 2, 3, 6 0, 3, 7增加,7, 5, 2减少和2, 3, 6增加。因此,这是事实。 另一个例子: 1, 4, 6, 8, 5, 3, 5, 7, 9 1, 4, 6, 8增加,8, 5, 3减少和3, 5, 7, 9增加。因此,这是虚假的。 规则和规格 没有相邻的元素将相等 可以假定所有数字都在您的语言的合理数字范围内 您可以假设所有数字都是整数,如果它可以帮助您打高尔夫 这是代码高尔夫球,因此最短的答案将获胜 以任何合理表示形式的列表形式输入,并以任何真实/虚假值输出。这两个值必须一致。 测试用例 Input -> Output 1, 3, …

5
这是输家吗?
在棋盘上有一个名为“回家”的游戏。在这个游戏中,两个玩家轮流移动一个棋子。关于如何移动作品有一些规则。转牌时,玩家必须进行以下任一动作来使n为正。 n个空格 左边n个空格 n在左上方(对角线)间隔 将棋子移到棋盘左上角的玩家将赢得比赛。 现在,我们将定义丢失正方形的概念。在此视频中(我从中得到了这个主意),将输方定义为一个方格,在该方格上,任何开始转牌的玩家将被迫采取行动,允许对手强制获胜。丢失正方形的最简单示例是(1,2)处的正方形。(1,2)处的作品可以移动到以下任意位置。 所有这些都为下一位玩家赢得胜利提供了直接途径。 同样可以得出结论,凡是具有一条通向输掉方格的单向方格的方格,都允许玩家从该方格开始,以强制获胜。这意味着,只要不离开亏损方格的任何方格也是亏损方格。 这使我们对损失平方的定义更加简洁: 丢失的正方形是一个不能从任何移动到达另一个丢失的正方形的正方形,而(0,0)是一个丢失的正方形。 任务 给定任意大小的棋盘上正方形的坐标,确定它是否为丢失的正方形。输出两个值,一个用于丢失平方,另一个用于其他平方。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 这是常规的8 x 8棋盘(标记为0)上的所有丢失方格。 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 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.