Questions tagged «decision-problem»

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

4
将网格拆分为网格
介绍 有一个小村庄,只有几栋房子和空旷的田野。当地官僚希望将村庄分成很多部分,以便每个地块都包含一所房子,并且地块的边界形成一个漂亮的直线网格。您的任务是确定是否可行。 任务 您的输入是一个矩形的二维位数组;1代表房屋,0代表空字段。它的大小将至少为1×1,并且将至少包含1个1。您可以采用任何合理格式的输入(嵌套的整数列表,字符串列表,多行字符串等)。 您的程序将确定是否可以使用水平和垂直直线将数组划分为多个网格单元,以便每个网格单元仅包含一个1。网格单元可能具有不同的大小和形状,尽管它们始终是矩形。这些线必须从阵列的一条边缘延伸到另一条边缘。 例如,以下是数组的有效划分: 00|0010|01|1 01|0000|00|0 --+----+--+- 00|0000|00|1 01|0010|01|0 --+----+--+- 01|1000|10|1 而以下划分是无效的,因为存在没有1或多个1的网格单元: 00|0010|01|1 --+----+--+- 01|0000|00|0 00|0000|00|1 01|0010|01|0 --+----+--+- 00|1000|10|1 如果存在有效的除法,则应输出真实值,否则输出虚假值。 规则和计分 您可以编写完整的程序或函数。最低字节数获胜。 测试用例 [[1]] -> True [[0,1],[1,0]] -> True [[1,1],[1,0]] -> False [[1,0,1],[0,1,0]] -> True [[1,0],[0,1],[0,1]] -> True [[1,0,0],[0,0,1],[0,1,1]] -> True [[1,1,1],[1,1,1],[1,1,1]] -> True [[1,0,1],[0,1,0],[1,0,0]] -> True [[1,0,0],[1,0,0],[0,1,1]] …

5
换向27个功能
介绍 让我们将三元函数定义为从三元素集S = {0,1,2}到其自身的函数:它与的S另一个元素的每个元素相关联S。三元函数的一个示例f是 f(0) = 0; f(1) = 2; f(2) = 0 共有27种不同的三元函数,我们用0到26之间的整数表示它们:函数f编码为f(0) + 3*f(1) + 9*f(2)。上面的示例函数被编码为数字6。 我们可以应用两种三元功能f和g顺序,如果f(g(k)) == g(f(k))适用于所有k在S,那么功能上下班。您的任务是验证是否是这种情况。 输入项 您的输入是两个整数,范围从0到26。它们表示两个三元函数,f并且g。输入必须采用十进制,二进制或一元(1s的字符串)格式。 输出量 如果和,您的输出是真实值fg下班,。您可能不认为输入是有序的。 例子 考虑输入5和16。它们对三元函数进行编码 f(0) = 2; f(1) = 1; f(2) = 0 g(0) = 1; g(1) = 2; g(2) = 1 我们有f(g(1)) == f(2) == 0和g(f(1)) …

27
可见的骰子脸
甲西方传统模具是立方体,在其上的整数1至6被标记上的面。成对增加到7的对放置在相反的面上。 因为是立方体,所以在任何给定时间我们只能看到1到3个面(包括1个)。不能同时看到相反的面孔。 您的任务是编写一个程序或函数,该程序或函数给出了表示模具上各边的整数列表,以确定是否有可能同时看到这些面。 1 好吧,也许您可​​以用双眼看到4到5张脸,但是出于这一挑战的目的,我们从一个点观察死角。 规则: 您的提交可以采用输入列表: 是非空的。 仅包含满足的值1 ≤ n ≤ 6。 不包含重复的元素。 您可能不假定输入已排序。 您的提交应输出一个true / false的值:true是可以同时看到这些面孔的情况,否则为false。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜! 默认情况下,标准漏洞是禁止的。 测试用例 真相: [6] (One face) [6, 2] (Share a side) [1, 3] (Share a side) [2, 1, 3] (Share a vertex) [3, 2, 6] (Share a vertex) 虚假: [1, 6] …

5
同余数
定义: 如果一个内角正好是90度,则将三角形视为直角三角形。 如果数字可以由整数的比率表示,则该数字被认为是有理数,即和p/q,其中p和和q均为整数。 如果存在一个三边均是有理的面积的直角三角形,则数字n是全等数字n。 这是OEIS A003273。 挑战 这是一个决策问题的挑战。给定输入数字时,x如果x是全等数字,则输出一个不同且一致的值,如果不是一个全等数字,则输出一个单独的不同且一致的值x。输出值不一定需要使用您的语言为真/假。 特殊规则 出于此挑战的目的,您可以假设Birch和Swinnerton-Dyer猜想是正确的。另外,如果您可以证明Birch和Swinnerton-Dyer的猜想,请索取您的$ 1,000,000千禧年奖金。;-) 例子 (使用True全等数字False)。 5 True 6 True 108 False 规则和说明 输入和输出可以通过任何方便的方法给出。 您可以将结果打印到STDOUT或将其作为函数结果返回。请在您的提交中说明输出可以采用的值。 完整的程序或功能都是可以接受的。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

23
学校搬出(第一天)
挑战经我的大学代码挑战竞赛许可 多年来,我学校的学生人数一直稳定增长。首先,教室增加了学生的数量,但随后有必要为一些团体转换一些空间以便在那里上课,例如健身房看台,或最后一道课程,直到扫帚室。 去年,学术机构获得了建造新建筑并开始工程的预算。终于,他们完成了,新建筑物已经可以使用了,所以我们可以搬家了(旧建筑物将被修复,并将用于其他功能),但是在整个过程中它已经使我们半途而废。导演想知道是否可以在不拆分或不加入小组的情况下搬家,或者某些学生必须更换小组。 挑战 给定当前组和新教室的学生数量(容量),如果可以为每个当前组分配一个具有足够容量的不同教室,则输出真实值,否则输出假值。 测试用例 Input: groups of students => [10, 20, 30], classrooms capacity => [31, 12, 20] Output: True Input: groups of students => [10, 20, 30], classrooms capacity => [100, 200] Output: False Input: groups of students => [20, 10, 30], classrooms capacity => [20, 20, …

14
这是BST的预定遍历吗?
背景 一个二叉树是有根树,其每个节点最多有两个孩子。 带标记的二叉树是一个二叉树,其每个节点都用一个正整数标记。此外,所有标签都是不同的。 甲BST(二进制搜索树)是标记的二叉树,其中,每个节点的标签比其左子树的所有节点的标签比在其右子树的所有节点的标签更大和更小。例如,以下是BST: 标记的二叉树的预遍历由以下伪代码定义。 function preorder(node) if node is null then return else print(node.label) preorder(node.left) preorder(node.right) 请参见下图以获得更好的直觉: 此二叉树的顶点按以下顺序打印: F, B, A, D, C, E, G, I, H 你可以阅读更多关于BSTS 这里,和更多的预购遍历这里。 挑战 给定一个整数列表一种一种a,您的任务是确定是否有一个BST的预遍历打印的正好是一种一种a。 输入项 包含正整数a的非空列表。一种一种a 任选地,长度一种一种a。 输出量 甲truthy值,如果一种一种a是一些BST的预购遍历。 一个falsey值,否则。 规则 标准规定了有效的意见,I / O,漏洞适用。 这是代码高尔夫球,因此最短的解决方案(以字节为单位)获胜。像往常一样,不要让可笑的简短的高尔夫语言解决方案阻止您以您选择的语言发布更长的答案。 这不是规则,但是如果包含测试解决方案的链接以及其工作原理的说明,您的答案会更好。 例子 Input ----> Output [1] ----> …

13
这是同花顺吗?
相关:命名扑克手 同花顺是一张包含五张相继排名的扑克牌,全部相同。作为同花顺的一部分,王牌可以排名高于国王或低于两位。一张高手可以排在高位(例如A♥K♥Q♥J♥10♥是高位同花顺)或低(例如5♦4♦3♦2♦A♦是五高同花顺),但是不能同时在高手和低手同时排名(例如Q♣K♣A♣2♣3♣是高手同花,而不是同花顺)。 挑战 N如果扑克手中有同花顺,给定的纸牌(以任何合理的格式)将输出真实值。 输入项 N卡数。(以任何合理的格式) 一共有四套西装。心,黑桃,钻石和球棒(H, S, D, C)。 每套西装都有一张2到10的卡片,外加4张“图片”卡片,分别是Ace,Jack,Queen和King (A, J, Q, K) 注意:您可以将10作为T 输出量 Truthy/Falsy 值 测试用例 ["AS", "2S", "3S", "4S", "5S"] => true ["3D", "9C", "4S", "KH", "AD", "AC"] => false ["5D", "6D", "7D", "8H", "9D", "10D", "JD"] => false ["JC", "7C", "5D", "8C", "AC", "10C", …

5
我的号码是唯一的吗
在这一挑战中,我们学习了一种使用因子树对每个正整数进行编码的方法。 下面是它的工作原理: 空字符串的值为1。 (S)其中S是具有值的任何表达式小号计算结果为š个素数。 AB其中A和B是与值arbirary表达式甲和乙分别具有值A * B。 例如,如果我们想代表7,我们会做 7 -> (4) -> (2*2) -> ((1)(1)) -> (()()) 事实证明,我们可以使用这种方法表示每个整数。实际上,我们可以用多种方式表示一些数字。因为乘法是可交换的10既是 ((()))() 和 ()((())) 同时,某些数字只能以一种方式表示。以8为例。8只能表示为 ()()() 而且由于我们所有的原子都是相同的,所以我们不能使用可交换性来重组它们。 所以现在的问题是“哪个数字只能用一种方式表示?”。第一个观察是我刚刚开始回到那里的观察。似乎完美的力量具有一些特殊的性质。在进一步研究中,我们可以找到36,即6 2是一个完美的幂,但是具有多种表示形式。 (())()(())() (())()()(()) ()(())()(()) ()(())(())() ()()(())(()) 这是有道理的,因为6已经可以重新排列,因此我们从6中得出的任何数字也必须可以重新排列。 现在我们有了一条规则: 如果数字是具有唯一表示形式的完美幂次,则该数字具有唯一表示形式。 该规则可以帮助我们减少确定一个复合数字是否唯一来确定质数是否唯一。现在我们有了该规则,我们想找出是什么使质数唯一。这实际上是不言而喻的。如果我们采用一个唯一的数字并将其括在括号中,则结果必须是唯一的,并且如果n具有多个表示形式,则结果相反;第n个素数必须具有多个表示形式。这产生了第二条规则: 当且仅当n是唯一的时,第n个素数才是唯一的。 这两个规则都是递归的,因此我们将需要一个基本案例。最小的唯一数字是多少?人们可能会说2,因为它的just (),但1(空字符串)更小并且是唯一的。 1是唯一的。 使用这三个规则,我们可以确定一个数字是否具有唯一的因子树。 任务 您可能已经看到了它的来临,但是您的任务是取一个正整数,并确定它是否唯一。您应该编写执行此计算的程序或函数。您应该输出两个可能的值之一,这些值由您决定,但是一个值应表示“是”,当输入是唯一的时输出,而另一个则表示“否”。 您的答案应以字节计分,较少的字节更好。 测试用例 以下是前几个唯一编号: 1 2 3 4 5 …

21
确定丰度
超丰数是一个整数n,它为除数和函数 σ的比率设置了一个新的上限。换句话说,当且仅当对于小于n的所有正整数x而言,n才是多余的: σ(n)n>σ(x)xσ(n)n>σ(x)x\frac{\sigma(n)}n>\frac{\sigma(x)}x 对于一些值: n σ(n) σ(n)/n superabundant 1 1 1.0000 yes 2 3 1.5000 yes 3 4 1.3333 no 4 7 1.7500 yes 5 6 1.2000 no 6 12 2.0000 yes 7 8 1.1429 no 8 15 1.8750 no 9 13 1.4444 no 这些的较长列表(用于测试用例)可以在OEIS A004394中找到。 一个强烈推荐的否定测试用例(如果您的口译员可以处理的话)是360360,因为它与最后一个多余的数字联系在一起。 挑战 您的程序应采用单个正整数,并输出表示该整数是否过多的真实或错误值。 因为这是代码高尔夫球,所以最短的答案以字节为单位。

11
它是它本身的子串吗?
给定一个字符串,返回该字符串是否是程序源代码的子字符串。 应用标准的quine规则,这意味着您无法阅读自己的源代码。确保输入的长度小于或等于程序的长度。您可以返回任何两个不同的值,不一定返回true和false值。您也可以提交功能而不是完整程序。 这是一个代码高尔夫球,所以最短的代码胜出! 一个例子 如果你的源代码print(input() = False),它应该返回True为nt(i,但假的tupn。

30
比较以字符串形式给出的两个数字
我上班有问题。我需要比较来自两个不同数据库的两个数字作为字符串。数字可能带有前导零和/或前导/后跟空格。所以我可能"0001 "来自一个数据库,也可能来自另一个数据库" 1 "。 我用以下代码解决了C#中的问题: Func<string, string, bool> f = (a,b) => int.Parse(a.Trim()) == int.Parse(b.Trim()) 挑战 这是一个非常简单的挑战,适合初学者和任何深奥的语言。给定两个数字作为可能带有前导零和/或前导/后跟空格的字符串,请编写最短的代码来检查两个字符串是否表示相同的数字。 输入必须是两个字符串或您的语言中的等效字符串(char数组可以),它们将始终表示大于零的整数值。 输出必须是代表真值和假值的任何两个一致值。 例子 A B Result ---------------------------- "0001" "1 " true "1450" "1450 " true "0010001 " " 10001 " true "0010000" " 10 " false "101023" "101024" false 这是代码高尔夫球,因此每种语言的最短代码可能会胜出!

27
VEVO用户帐户检查器
我们经常在YouTube上看到音乐视频。许多托管音乐视频的YouTube频道都是“由VEVO提供支持”的。通过将VEVO嵌入到其视频缩略图中并将VEVO附加到其频道名称,可以轻松识别这些内容。 现在,编写一些代码来测试用户给定的字符串是否为VEVO用户帐户。 有效的VEVO用户帐户字符串的要求: 必须仅包含大写,小写和数字字符。(无空格或标点符号) 长度不能超过80个字符。 字符串末尾必须有“ VEVO”子字符串 测试用例: 有效输入: AdeleVEVO ConnieTalbotVEVO SHMVEVO justimberlakeVEVO DJMartinJensenVEVO test123VEVO 输入无效: syam kapuk jypentertainment Noche de Brujas testVEVO123 当然,因为这是code-golf,所以我正在寻找使用任何编程语言的最短代码。

9
小组是周期性的吗?
介绍 如果您已经知道什么是循环组,则可以跳过此部分。 一个组是由一个集合和一个关联的二进制运算定义的$(也就是说,(a $ b) $ c = a $ (b $ c)。该组e中仅存在一个元素,而a $ e = a = e $ a对于该组中的所有元素a(恒等)。对于a该组中的每个元素,都存在一个精确的b使得a $ b = e = b $ a(逆)元素对于组中的每个两个元素a, b,a $ b都位于组中(闭包)。 我们可以a^n代替来写a$a$a$...$a。 通过任何元件产生的循环子a组中的是<a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)},其中n是子组的顺序(大小)(除非该亚型是无限的)。 如果一个组可以由其元素之一生成,则它是循环的。 挑战 给定有限群的Cayley表(乘积表),确定它是否为循环的。 例 让我们看一下下面的Cayley表: 1 2 3 …

13
矩阵排名第一吗?
给定一个整数矩阵,测试它是否为秩一,这意味着每一行都是同一向量的倍数。例如,在 2 0 -20 10 -3 0 30 -15 0 0 0 0 每行是的倍数1 0 -10 5。 相同的定义也适用于列代替行。另外,如果矩阵像一个乘法表,则它是排名第一的矩阵: * 1 0 -10 5 ---------------- 2 | 2 0 -20 10 -3 | -3 0 30 -15 0 | 0 0 0 0 我们已经分配了行标签r[i]和列标签,c[j]因此每个矩阵条目M[i][j]都是对应标签的乘积M[i][j] = r[i] * c[j]。 输入: 整数矩阵作为您选择的2D容器。例如,列表列表,2D数组或类似列表。除非数组格式要求,否则不应将width或height作为附加输入。 矩阵可以是非正方形的。它将至少有一个非零条目-您不必处理空矩阵或零矩阵。 …

16
还有一个程序,我出去了!
给定一个正整数嵌套级n和字符串s的打印的ASCII字符(到~,输出一个。方案,其中,以相同的语言运行时,输出一个程序,其输出程序输出该串s。 总计 n应该生成程序,所有程序都应以与您的答案相同的语言运行。 注意:您可以输出程序或函数-默认情况下,您可以将任何内容作为提交提交。 您可以s使用转义字符输入,以您的语言编写的程序或函数通常会如何输入字符串。 例 例如,给定n=1和s="recursion",Python 2程序可能输出: print "recursion" 运行此命令将输出: recursion 给定n=2和s =“ PPCG”,Python 2程序可能输出: print "print \"PPCG\" " 运行此输出: print "PPCG" 运行此输出: PPCG 相关(+标题灵感):还有一个LUL,我出门了 也相关(在沙箱中-现在已删除,但仍然可以以足够的信誉查看):源代码递归 测试用例 确保您的代码适用于以下测试用例(每行一个): n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

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.