Questions tagged «decision-problem»

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

14
递归级联[N]的累积和与M次迭代
取两个正整数N,M并[N]通过M迭代创建的串联累积和。输出最后一次迭代的结果。 串联累积和的定义: 以数字开头N并定义顺序X = [N] 追加到X的累积和X 重复步骤2 M次。 向量的累加和X = [x1, x2, x3, x4]为:[x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]。 N = 1和的示例M = 4: P =累积和函数。 M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, 1, 2] - X …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

29
怪异的评分系统
Weirdo Incorporates有一种奇怪的方法,可以根据员工在办公室的工作天数来对其员工进行评分: 0 - 13 : F 14 - 170 : E 171 - 180 : D 181 - 294 : C 295 - 300 : B 301 - 365 : A Note: The range is inclusive (i.e. 0-13 means 0 days and 13 days both will evaluate as grade …

11
案例匹配查找替换
以三个输入,文本串T; 一串要替换的字符F;以及用替换它们的字符串R。对于每个T具有相同(不区分大小写)字符的子字符串F,请将其替换为中的字符R。但是,请保持与原始文本相同的大小写。 如果输入的字符R多于个F,则多余的字符应与输入的大小写相同R。如果其中包含数字或符号F,则其中的相应字符R应保持其大小写R。F不一定会出现在中T。 您可以假设所有文本都在可打印的ASCII范围内。 例子 "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

6
您可以循环播放而不会崩溃吗?
我们很多人都熟悉Tron游戏。您可以控制放置在网格上的“ lightcycle”。灯光周期总是向前移动(尽管您可以控制方向),并在其后面留下永久的痕迹。如果碰到一条小路,就会崩溃! 此处的目标是确定给定路径是否为有效循环,也就是说,它返回到其起始点而不会“崩溃”。为此,我们假设我们从这一点开始(0,0)。输入形式为N2E1S2W1,具有一系列基本方向(Nis north,Eis east,依此类推),每个方向后跟移动该方向的距离。在此示例中,您将旅行 N2 : North 2 to (0,2) E1 : East 1 to (1,2) S2 : South 2 to (1,0) W1 : West 1 to (0,0) 如果一条路径在(0,0)不重复访问任何其他坐标的情况下结束,则该路径被认为是有效的(它(0,0)精确地访问了两次,一次在起点,一次在终点)。请记住,与上例相比,从(0,0)到(0,2),我们也必须访问(0,1)。 其他例子: input -> output N1E1S1W1 -> true N1E1N1E1S2W2 -> true N1S1E1W1 -> false // Visits (0,0) 3 times N4E2S2W4S2E2 -> …

8
可达号码
定义 欧拉披(Euler Phi)函数(又称totient函数):该函数接受一个正数,并返回小于给定数的正数,这些正数与给定数互质。表示为φ(n)。 可达数:如果存在一个正整数x,使得φ(x) == n,然后n是可到达的。 任务 编写函数/程序以确定给定的正整数是否可以达到。 输入值 任何合理格式的正数。可以假定数字在该语言的能力范围内。一元输入被接受。 输出量 两个一致的值,一个用于可访问的数字,另一个用于不可访问的数字。两个值可以是任意值,只要它们是一致的即可。 测试用例 以下是可接通的电话号码100: 1,2,4,6,8,10,12,16,18,20,22,24,28,30,32,36,40,42,44,46,48,52,54,56,58,58, 60、64、66、70、72、78、80、82、84、88、92、96 (OEIS上为A002202) 规则 有标准漏洞。 获奖标准 这是代码高尔夫球。提交的字节数最少。 参考文献 欧拉·菲函数 OEIS A002202

4
解决数学问题符号
想象一下,我有无数个作业问题(!),每个问题都有一个整数。 数学问题符号是一种使用问题说明符描述问题子集的符号。 MPN表达式可以包含以下几项: 单个值。这表示一个包含数字的集合:99 -> {99}。 一个简单的范围。这表示包含从范围的开始到结束的所有数字的集合10~13 -> {10, 11, 12, 13}。如果左侧或右侧丢失,那么他们被认为是负无穷大或无穷大分别为:~10 -> {x|x ≤ 10}; ~ -> ℤ。 一个MPN表达式,后跟“跳过”和另一个MPN表达式。这代表了两组的区别:10~20 skip 12~14 -> {10, 11, 15, 16, 17, 18, 19, 20}。 两个MPN表达式,以逗号分隔。这表示两个集合的并集:1,8~9,15~17 -> {1,8,9,15,16,17}。 “跳过”运算符的绑定比逗号运算符更紧密,因此16,110~112 skip 16 -> {16,110,111,112}(16个不包括在集合中{110,111,112}中不包括16,因此排除16无关紧要。) 您也可以将表达式放在括号中以消除歧义: 1~9 skip (2~8 skip (3~7 skip (4~6 skip 5))) -> …

23
两条道路分叉成黄色的树林(第1部分)
这是系列中的第一个,第二个是在黄色的树林中分叉的两条道路(第2部分) 这一挑战的灵感来自罗伯特·弗罗斯特(Robert Frost)的著名诗作《未走的路》: 两条道路在黄色的树林中分开, 对不起,我无法同时行进 ,成为一个行人,我站了很久 ,俯视着一条路,尽我所能 ,一直到灌木丛弯曲的地方。 然后公平地取下另一个, 也许有更好的主张, 因为它长满了草,想要穿。 虽然那路过的 人真的穿了差不多的衣服, 那天早上,两个人同样躺在 地上,没有脚踩过黑色。 哦,我保留了第一天! 然而, 我知道路要走,我是否应该回来。 我将叹息地告诉这个问题,因为它 在某个年代和年代都有: 两条道路在树林中分叉,我- 我走过的路少了, 这一切都改变了。 请注意倒数第二行I took the one less traveled by,。 您的实际挑战 您将采用以下形式输入: # ## # ## # ## # # # 而你必须找到更薄的道路。 这条路从底部开始#。其他两条始终在最上一行终止的道路是您必须检查的道路。最厚的道路是最常经过的道路,因此这不是您想要的。另一个是经过最少的旅行,也是您想要的旅行。 输出量 您的程序/函数必须输出2个不同的值之一(例如0或1,true或false),其中一个用于未经过的道路的每个可能位置。例如,如果未行驶的道路位于已行驶道路的左侧,则可以输出0,否则输出1,或者可以输出字符串“ left”或“ right”,true,false等。 测试用例: ## # …

13
是最大堆吗?
甲堆,也被称为优先级的队列,是一个抽象的数据类型。从概念上讲,它是一个二叉树,其中每个节点的子代小于或等于节点本身。(假定它是一个最大堆。)当元素被推入或弹出时,堆会重新排列自身,因此最大的元素是下一个要弹出的元素。它可以很容易地实现为树或数组。 您应该选择接受的挑战是,确定数组是否为有效堆。如果每个元素的子元素小于或等于元素本身,则该数组为堆形式。以以下数组为例: [90, 15, 10, 7, 12, 2] 实际上,这是一个以数组形式排列的二叉树。这是因为每个元素都有孩子。90岁有两个孩子15和10。 15, 10, [(90), 7, 12, 2] 15岁还有7岁和12岁的孩子: 7, 12, [90, (15), 10, 2] 10个有孩子: 2 [90, 15, (10), 7, 12, ] 而下一个元素也将是10的孩子,除了没有空间。如果数组足够长,则7、12和2也都将有子级。这是堆的另一个示例: [16, 14, 10, 8, 7, 9, 3, 2, 4, 1] 这是先前数组制作的树的可视化效果: 以防万一这还不够清楚,这是获取第i个元素的子元素的显式公式 //0-indexing: child1 = (i * 2) + …

6
时钟(纸牌游戏)
时钟是一种有趣的纸牌游戏,因为它不需要任何技巧。它是单人游戏,并且相同的纸牌配置总是会导致获胜或失败。在这一挑战中,您需要确定给定的卡配置是赢还是输。您可以在这里玩游戏。 游戏的玩法如下: 十三张纸牌面朝下发出。每堆从0到12编号。 我们将第0个桩设为当前桩 我们将当前牌堆的最高牌面朝上。 我们将面朝上卡移动到其各自堆叠的底部(4张卡片位于第4列下方)。该卡仍面朝上。该桩成为当前桩。 如果当前筹码完全朝上,则游戏结束。否则,请返回步骤3。 提示:游戏将永远在第0堆结束 如果所有牌面朝上都将赢得比赛,如果剩下的牌面朝下则将输掉比赛。 输入输出 包含每个桩的2D阵列。卡用0到12的数字表示(西装无关紧要,没有给出)。每堆的顶牌是每个阵列的第一个元素。 您可以假设输入格式正确:它将包含52张0到12(含)之间的卡,并且每个数字恰好包含4次。 如果游戏可以获胜,则必须返回真实值;如果不能获胜,则必须返回虚假值。 测试用例 真相: [[11, 11, 7, 7], [8, 6, 5, 0], [2, 10, 9, 1], [12, 3, 0, 6], [8, 7, 4, 8], [3, 10, 5, 12], [11, 7, 1, 10], [3, 1, 6, 0], [2, 3, 0, …

1
计数坎宁安链
素数总是让人着迷。2300年前,欧几里得在他的《元素》中写道 质数是仅由一个单位测量的质数。 这意味着素只能被 1(或本身)。 人们一直在寻找素数之间的关系,并提出了一些非常奇怪的东西(如“有趣的”)。 例如,一个索菲·热尔曼质数是一个主要p针对2*p+1也是素数。 一个安全素是一种主要p用于哪些(p-1)/2也是黄金,而这正是一个索菲·热尔曼质数的倒退状态。 这些与我们在此挑战中寻找的东西有关。 一个坎宁安链型我是一系列素数,其中除了最后一个的每一个元素是的索菲·热尔曼质数,而除了第一个的每一个元素是一个安全的黄金。该链中元素的数量称为它的length。 这意味着我们从素数开始p计算q=2*p+1。如果也q为质数,则我们有长度为2的I型Cunnigham链。然后进行测试2*q+1,以此类推,直到下一个生成的数字为复合数为止。 II型坎宁安链是按照几乎相同的原理构造的,唯一的区别是我们检查了2*p-1在每个阶段。 坎宁安链的长度可以为1,这意味着2 * p + 1和2 * p-1都不是素数。我们对这些不感兴趣。 坎宁安链的一些例子 2启动长度为5的I型链。 2, 5, 11, 23, 47 下一个构造的数字95不是素数。 这也告诉我们,那5,11,23和47不启动类型的任何链我,因为这将有前述的元素。 2也开始长度为3的II型链。 2, 3, 5 接下来是9,这不是素数。 让我们尝试II11型(之前我们将其排除在I型之外)。 好吧,接下来是下一个,它不是素数,因此该“链”的长度为1,我们不将其计入此挑战。21 挑战 写一个程序或功能,给定一个号码n作为输入,写入/返回的起始数第n个的坎宁安链I或II型的至少长度为2,后跟一个空格,随后链的类型它开始(我或II),然后是冒号,然后是该类型链的长度。万一素数同时启动两种类型的链(类型I 和型 II型),则首先计算型链。 例: 2 I:5 请记住,这n可能是任何类型的先前启动链的一部分,在这种情况下,不应将其视为该类型链的起始编号。 让我们看看这是如何开始的 我们从开始2。由于它是第一个素数,因此我们可以确定没有链从包含的较低素数开始2。 类型I中的下一个数字将是2*2+1 == 5。5是素数,因此我们已经有了至少长度为2的链。 我们将其视为第一条链。那II型呢?下一个号码是2*2-1 == 3。3是素数,因此II型的链长也至少为2。 …

5
是L凸的吗?
背景 甲四角被称为L-凸,如果有可能从任何瓦到任何其他瓦片行程由L形路径,即,云在基本方向并且至多一次改变方向的路径。例如,1图中的s 的多米诺骨牌 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 不是L凸的,因为从左下角1到右上角的两个L形路径1都包含0: 0>0>1>1>1 0 ^ ^ 1 1 1 1 0 0 ^ ^ 1>1>0>0>0 0 但是,1此图中s 的多米诺是L凸的: 0 1 1 1 0 0 1 1 1 1 1 1 …

3
是将死吗?
鉴于网站上存在大量的国际象棋难题,这完全尚未发布,对此他感到十分惊讶。当我自己想到这个时,应该感谢Anush 于三月份将其发布到沙箱中。但是我认为已经足够长的时间可以自己进行了。 一个将死的棋是在国王被攻击,也没有动,可以保卫它的位置。如果您不熟悉棋子的移动方式,可以在Wikipedia上熟悉一下自己。 挑战 对于这个挑战,您的输入将是您喜欢的任何符号的棋盘位置。为了明确起见,您的输入将描述棋盘上的棋子,棋子的颜色和位置,以及可能的被动捕捉方块(如果有)。(城堡的能力无关紧要,因为您不能超越城堡。)您可能会发现FEN标记很有用,但是任何方便的格式都可以。为简单起见,您可以假设玩的是Black玩家 -这意味着Black永远是被淘汰的玩家。怀特处于支票,将军或僵局的职位将被视为对此挑战无效。 如果该位置是将死,则必须输出一个真实值,如果不是,则必须输出一个虚假值。请注意,僵局不是将军 -国王必须受到攻击! 真实的测试案例 1k5R / 6R1 / 8/8/8/8 / 6K1 b-- rn2r1k1 ​​/ pp1p1pQp / 3p4 / 1b1n4 / 1P2P3 / 2B5 / P5PP / R3K2R b-- kr5R / rB6 / 8/8/8 / 5Q2 / 6K1 / R7 b-- 2K5 / 1B6 / 8/8/8 …

14
爱尔兰快照:变体规则
介绍 最近,我和我的几个朋友决定玩几张纸牌,其中之一推荐了游戏“爱尔兰快拍”,这就是挑战的灵感来源。但是,我后来了解到,游戏具有许多不同的规则供您使用,此处列出了其中的一些规则 。当前未在该页面上列出面临该挑战的规则,因此名称为“变体规则” 挑战 给定由3张牌组成的数组,请根据在爱尔兰快速抽奖游戏中是否进行有效快速抽奖来输出真值或虚假值。 输入值 输入将是3个数字的数组,范围从1-13(含1-13),其中1代表王牌,11代表杰克,12代表皇后,13代表国王。输入可以是上,中,下的任何顺序。 规则 卡牌是否能使爱尔兰人抢购的4个不同标准是: 顶卡和中间卡相同 顶部和中间的牌相差一 顶部和底部卡片相同 顶部和底部的卡相差一 如果满足任何这些条件,则必须输出真实值。除此之外,对于两个要求纸牌相差一的标准,它会“环绕”,这意味着王牌和国王被认为相差一,反之亦然。 测试用例 Input (Bottom, Middle, Top) -> Output 1 13 7 -> False 1 4 13 -> True 9 3 6 -> False 8 9 7 -> True 2 6 5 -> True 12 5 11 -> …

9
换词器可达性
换词器是一款您试图通过单字符编辑将一个单词变成另一个单词的游戏,每个步骤都是自己的单词。对于这个挑战,编辑可能是替换,插入或删除。例如,WINNER→LOSER可以使用以下路线来完成(可能还有其他路线): WINNER DINNER DINER DINE LINE LONE LOSE LOSER 换一种说法,您必须每次只能在Levenshtein距离为1的情况下通过另一个单词到达另一个单词。 编码 您将得到一个单词列表和两个单词,如果存在一条路由,则必须输出从一个单词到另一个单词的有效路由;如果不存在任何路由,则必须输出一个不同的常数值或一致的行为。 您可以假设输入的单词都在单词列表中 单词列表可以通过任何方便的平面格式输入。 列表,集合,尝试,空格分隔的字符串和行分隔的文件都是有效的(例如),但Levenshtein邻接关系的预先计算的图形无效。 输出路径应该包括两个输入词,但是开始和结束都没有关系。 如果未找到路由,则可以输出特定的常量,错误的值,空列表,引发异常,使用非零代码退出或在限定时间内发生的任何其他行为。 路线不一定是最佳路线,也没有要求应该采用哪条路线 计算复杂性无关紧要,但是必须证明您的程序在有限的时间内终止。(即使它超越了宇宙的热死) 您可以假设所有单词在相同情况下完全由字母组成 示例测试用例 猫→狗; [CAT,DOG,COG,COT,FROG,GROG,BOG] 猫,狗,狗,狗 浴室→淋浴; [沐浴,淋浴,卫生,帽子,BAT,SAT,锯,母猪,显示,如何] 找不到路线 BREAK→FIX;[BREAK,FIX,BEAK,BREAD,READ,BEAD,RED,BED,BAD,BID,FAD,FAX] BREAK,BREAD,BEAD,BAD,FAD,FAX,FIX 建造→毁灭; [建造,毁灭,建造,公会,公会,吉尔,吉尔,比尔,莳萝,填充,破坏,结构,构造] 找不到路线 卡→板; [卡,板,板] 卡,板,板 恶魔→天使; [天使魔鬼] 找不到路线 最后→过去;[最后,过去,爆炸,投射,黑色,幽灵,后期,夸张] 最后,过去 插入→删除; 这个单词表 插入,倒置,侵入,弯曲,弯曲,弯曲,弯曲,变暗,达林,成骨,成骨,成丝,成串,丝氨酸,成年神经,有色,硅酸盐,硅酸盐,陶土,降级,删除

8
这是重复抽奖吗?
问题: 在国际象棋中,有一个关于重复抽奖的众所周知的规则。如果同一位置重复3次(或更多次),则打算进行此举动的玩家将引起平局。 有时候,如果最后几步只是球员的来回移动,这对于仲裁员来说是一件容易的事。有时,当零件在重复的位置之间显着移动时,它会变得不那么琐碎。 挑战中的问题是,给定坐标坐标的移动列表,如果要求的位置是通过重复绘制(已被看到3次或多次),则输出真值;如果要求的位置不是通过重复绘制,则输出假值。如下所述,或您选择的任何符号(但您必须转换测试用例)。 什么是职位? 在现实世界中,位置会受到诸如玩家是否可以装城堡或是否有传球之类的因素的影响;你应该不是在你的解决问题的办法考虑这些。在这个问题中,仅通过板上的部件的配置来确定位置。因此,出于此问题的目的,如果两个板上的每个正方形都被相同类型的相同颜色的零件占据,则两个位置被视为相同。这不一定是确切的棋子,例如,怀特的骑士可以交换正方形,并且如果所有其他棋子都符合条件,则该棋子仍将位于同一位置。 有效符号是什么样的? 尽管我将继续解释坐标符号,但是您可以自由选择所选择的符号系统进行输入。规定: 符号中的每一项都描述以下任何一项或全部:涉及的一件或多件;是否已交付检查,将死,再次检查,将死或僵持;是否发生了被动捕获;初始位置;最后的位置。 您的符号中可能没有重复的信息。 因此,只要满足这些条件,只要您在回答中指定,我就会很乐意接受您的符号系统。例如,可以是0索引行,列元组或任何对您的程序有意义的内容。 坐标符号 坐标符号是一种纯粹将移动描述为坐标系的符号。 首先将移动描述为来自该集合的初始坐标{A1-H8},然后再次描述为来自同一集合的目标坐标。因此,国王的甘比特看起来像(作为字符串的集合) {"E2-E4","E7-E5","F2-F4"} 我认为这是解决此问题的最佳方法,因为它不会散布无关紧要的信息,例如是否进行过检查或工件移动的类型。如前所述,可以选择一种表示法,因此您可以使用另一种表示法,例如代数表示法,也可以改写该表示法(例如,删除破折号或作为元组列表) 规则: 你应该不考虑位置或移动是否有效,只有它是否会导致重复 您可以假设将不会进行小规模促销和典当促销。 您应该将字符串列表作为输入,并输出与最后一次移动是否发生了第三次(或更多次)重复相对应的真实或错误值 游戏始终在国际象棋的标准起始位置开始。初始位置可以计入重复。 如果最后一步没有重复该位置,则不会发生重复绘制 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例 您应该为以下内容返回真实值: {"B1-C3","B8-C6","C3-B1","C6-B8","B1-C3","B8-C6","C3-B1","C6-B8"} {"B1-C3","B8-C6","C3-B1","C6-B8","B1-C3","B8-C6","C3-B1","C6-B8","B1-C3","B8-C6","C3-B1","C6-B8"} {"B1-C3","B8-C6","D2-D4","D7-D5","D1-D3","D8-D6","C3-B1","C6-B8","B1-C3","B8-C6","D3-D1","D6-D8","D1-D3","D8-D6"} {"D2-D4","B8-C6","E2-E4","C6-D4","D1-E2","D4-E6","E2-F3","E6-D4","F3-D1","D4-C6","D1-E2","C6-D4","E1-D1","D4-C6","D1-E1","C6-D4"} {"B1-C3","B8-C6","C3-B1","C6-B8","B1-C3","B8-C6","C3-B1","C6-B8","B1-C3","B8-C6","C3-B1","C6-B8","B1-C3"} 和虚假的值: {} {"E2-E4","E7-E5","F2-F4"} {"B1-C3","B8-C6","C3-B1","C6-B8","B1-C3","B8-C6","C3-B1","C6-B8","F2-F4","F7-F5"} {"E2-E4","E7-E5","G1-F3","B8-C6","F1-C4","G8-F6","F3-G5","D7-D5","E4-D5","F6-D5","G5-F7"} {"D2-D4","B8-C6","E2-E4","C6-D4","D1-E2","D4-C6","E2-D1","C6-D4","D1-E2","D4-C6","E2-D1"} {"B1-C3","B8-C6","C3-B5","C6-B4","B5-D4","B4-D5","D4-C6","D5-C3","C6-B8","C3-B1","B8-C6","B1-C3","C6-B8","C3-B1"} {"E2-E4","E7-E5","D1-E2","E8-E7","E1-D1","D8-E8","E2-E1","E7-D8","E1-E2","E8-E7","E2-E1","E7-E8"}

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.