Questions tagged «decision-problem»

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

6
披萨好吃吗?
这个问题是通过启发,是逆这个。 丹尼斯(E),门把手(D),马丁(M)和克里斯(C)点了一份披萨。矩形的比萨饼被分成方形的块,每个块上都标有其预定的食用者。 编写一个程序或函数,给定一个矩形比萨,该比萨由每个字母的0个或多个组成,确定是否: 每个人的每个片段都是相互联系的。这意味着所有相同的字母应彼此直接相邻(没有对角线连接)。 每个人的切片数对于所有人都是相同的。 您必须输出真/假值,并带有可选的尾随换行符,以指示给定的披萨是否公平。 有效的测试用例: DDDDDDDDDDDDMCCCCCCCCCCC DEEEEEEEEEEDMMMMMMMCCCCC DEEEEEEEEEEDMMMCCCCCCCCC DEEEEEEEEEEDMMMMMMMMCCCC DDDDDDDDDDDDMMMMMMMMMMMC DEMC DD EE MC MC EEDDMMMCCC EEEDDDMMCC 无效的测试用例: EDM EDMCCMDE DDDDDDDDDDDDMCCCCCCCCCCC DEEEEEEEEEEDMMMMMMMCCCCC DEEEEEEEEEEMDMMCCCCCCCCC DEEEEEEEEEEDMMMMMMMMCCCC DDDDDDDDDDDDMMMMMMMMMMMC DDMMEECC DMMEECCC 以字节为单位的最短代码获胜。

11
这个集合代表自然数吗?
在集合理论中,自然数NN={0,1,2,3,...}\mathbb{N} = \{0, 1, 2, 3, ...\}通常被编码为纯集,即仅包含空集或其他纯集的集。但是,并非所有的纯集都代表自然数。挑战在于确定给定的纯集是否表示自然数的编码。 自然数的编码以下列方式1起作用: 零是空集:Set(0)={} Set(0) = \{\} 对于许多n>0n > 0:Set(n)=Set(n−1)∪{Set(n−1)} Set(n) = Set(n-1) \cup \{Set(n-1)\} 因此,前几个自然数的编码是 0⇝{} 0 \leadsto \{\} 1⇝{0}⇝{{}} 1 \leadsto \{0\} \leadsto \{\{\}\} 2⇝{0,1}⇝{{},{{}}} 2 \leadsto \{0,1\} \leadsto \{\{\},\{\{\}\}\} 3⇝{0,1,2}⇝{{},{{}},{{},{{}}}} 3 \leadsto \{0,1,2\} \leadsto \{\{\},\{\{\}\},\{\{\},\{\{\}\}\}\} 4⇝{0,1,2,3}⇝{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}} 4 \leadsto \{0,1,2,3\} \leadsto \{\{\},\{\{\}\},\{\{\},\{\{\}\}\},\{\{\},\{\{\}\},\{\{\},\{\{\}\}\}\}\} 任务 …

1
三维象棋
为了捍卫某人的莫名其妙的决定,人们经常说那个人在每个人的头顶上方,下着“ 3D国际象棋”。现在,您就有机会下3D象棋! 规则 3D Chess有很多变种,但是对于这个挑战,我已经做好了自己的准备。我的版本与常规国际象棋一样,除了棋子位于立方体而不是正方形内,并且现在具有更大的运动尺寸。为了使这一挑战变得简单,没有典当也没有铸造。 件运动 (指南针方向是指在标准棋盘上发生的移动,“向上”和“向下”是指在3D棋盘上垂直移动)。 国王 -在给定的回合上可以移动26个正方形:N,NE,E,SE,S,SW,W,NW; 以及上,下和上/下+指南针方向之一。 女王 -可以朝国王的方向移动,但只要她想朝这些方向移动即可。 车鸦 -可以在6个方向上移动:N,E,S,W,向上和向下, 毕晓普 -有旅行的8个triagonal方向:NE +上/下,SE +上/下,SW +上/下,NW +向上/向下 骑士 -一个轴移动2个空间,然后再移动1个空间。就像普通的国际象棋一样,骑士是唯一可以超越其他棋子的棋子。 零件测试仪 使用此代码段查看不同块在3D板上的移动方式(提示:*Test只需根据距块的绝对距离,即可查看JS中的功能,以快速确定正方形是否为有效移动。): const color = "Black"; const pieces = ["N","B","R","Q","K"]; const urls = ["https://image.ibb.co/gyS9Cx/Black_N.png","https://image.ibb.co/dknnzc/Black_B.png","https://image.ibb.co/kb3hXx/Black_R.png","https://image.ibb.co/hGO5kH/Black_Q.png","https://image.ibb.co/jApd5H/Black_K.png"]; var dragPiece; var size = 3; var index = 0; function start() { Array.prototype.add …

18
我是“重新预订”号码吗?
Redivosite是一个portmanteau单词,仅是本次挑战的目的。它是归约,除法和复合的混合。 定义 给定整数N> 6: 如果N为质数,则N不是重新定义的数字。 如果N是复合的: 重复计算N'= N / d + d + 1直到N'为素数,其中d是N大于1 的最小除数 Ñ是Redivosite数当且仅当的最终值N”是的除数Ñ 下面是100个第一个Redivosite编号(发布时没有OEIS条目): 14,42,44,49,66,70,143,153,168,169,176,195,204,260,287,294,322,350,414,462,518,553,572,575,592,629,651,702,726,735,775,806,850,869,889,891,913,950,1014,1023,1027,1071,1118,1173,1177,1197,1221,1235,1254,1260,1302,1364,1403,1430,1441,1554,1598,1610,1615,1628,1650,1673,1683,1687,1690,1703,1710,1736,1771,1840,1957,1974,2046,2067,2139,2196,2231,2254,2257,2288,2310,2318,2353,2392,2409,2432,2480,2522,2544,2635,2640,2650,2652,2684,2717,2758,2760,2784,2822,2835 例子 N = 13:13是质数,因此13不是Redivosite数字 N = 32:32/2 + 3 = 19;19不是除数或32,因此32不是Redivosite数字 N = 260:260/2 + 3 = 133,133 / 7 + 8 = 27,27 / 3 + 4 = 13;13是除数或260,因此260是Redivosite数字 你的任务 给定整数N,如果它是Redivosite …

30
是整数吗?
一个数字是整体如果是不带小数部分的非负整数。所以0and 8和233494.0是整体,而1.1and 0.001和233494.999不是。 输入项 语言的默认基本/编码形式的浮点数。 例如,二元Lambda演算的默认整数表示形式是教堂数字。但是Python的默认整数表示形式是以10为基数的十进制,而不是Unary。 输出量 甲truthy如果输入是全值,falsy值,如果它不是。 请注意,如果您的语言仅支持十进制精度(例如8位),1.000000002则可以视为整数。 输入和输出可以通过任何标准的I / O方法完成。 测试用例 Input -> Output 332 -> true 33.2 -> false 128239847 -> true 0.128239847 -> false 0 -> true 0.000000000 -> true 1.111111111 -> false -3.1415926 -> false -3 -> false 计分 与代码高尔夫球一样,最短的提交将获胜。祝好运!

22
这是一个很好的2048板吗?
这是我的第一个问题,因此在评论中提出的任何建议将不胜感激!谢谢 ;) 介绍 2048游戏的一种非常普遍的策略是从不失败。这会将所有大数字放在顶部,将较低的数字放在底部。因此,如果正确应用此策略,则您的开发板将始终符合以下模式: 要检查的模式/您的任务 如果董事会可以这样描述,则您的提交应为完整程序或返回真实值的函数:在董事会的每一列中,第一个数字应为该列的最高值,第二个数字应为较小的值等于或等于第一个数字,以此类推。好的2048板定义为最高编号都位于顶部的板。这是code-golf,所以每种语言的最短Code(以字节为单位)获胜。 输入输出 可以以任何适当的方式获取输入,例如4个数组的数组,每个数组包含4个数字,或者16个数组。总的来说,它将始终是16个数字,代表4x4板 。输出应为真实值,输入应为“ 2048良好板”,否则为假值。 例子 真相: |-------------------| | 16 | | 64 | 8 | |-------------------| | 8 | | 32 | 8 | |-------------------| | 4 | | 32 | 2 | |-------------------| | 2 | | | | |-------------------| |-------------------| | 16 …

22
它是弱质素吗?
如果最接近的其他素数小于素数,则素数是弱的。如果有平局,则素数并不弱。 例如73是弱素数,因为71是素数,而75是复合数。 任务 编写一些计算机代码,当输入大于2的质数时,将确定它是否为弱质数。这是一个标准的决策问题,因此您应针对两种情况(例如weak和not weak)分别输出两个唯一值。 这是代码高尔夫球,因此适用标签的标准规则。 信息系统 以下是前47个弱素数: 3, 7, 13, 19, 23, 31, 43, 47, 61, 73, 83, 89, 103, 109, 113, 131, 139, 151, 167, 181, 193, 199, 229, 233, 241, 271, 283, 293, 313, 317, 337, 349, 353, 359, 383, 389, 401, 409, 421, 433, 443, 449, …

11
这个数字的精确度是-2 :(非常)硬模式
这是最近挑战的一个版本,这个数字是2的整数次幂吗?具有一系列不同的标准,这些标准旨在突出问题的有趣性质并使挑战更加艰巨。我在这里考虑了一下。 托比在链接的问题中很好地说明了这一挑战: 有很多聪明的方法可以确定整数是否为2的精确幂。这不再是一个有趣的问题,因此让我们确定给定的整数是否为-2的精确幂。例如: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² 规则: 整数是64位带符号的二进制补码。这是您可以使用的唯一数据类型。 您只能使用以下操作。这些都算作一项操作。 n << k,n >> k:左/右移位n通过k比特。符号位右移扩展。 n >>> k:右移,但不扩展符号位。0移入。 a & b,a | b,a ^ b:按位AND,OR,XOR。 a + b,a - b,a …

3
生命游戏arrowlits
背景 这项挑战是为了纪念Apsiller,他们凭借自己的挑战赢得了2016年PPCG最佳影片中的“ 看起来并不那么简单”类别的奖,我的4音符音乐盒可以播放那首歌吗? 恭喜你! 在他们的“关于我”页面上,该用户有一个非常精美的模拟器,用于“ 生命游戏”蜂窝自动机。(严重,请检查一下。)另一方面,单词aspillera在西班牙语中代表“ arrowslit”。鉴于这些事实,这一挑战是关于“人生游戏”中的箭眼。 生命游戏arrowlits 在GoL中,我们将用滑翔机代表一个箭头,并用一系列方块代表一堵墙。一架滑翔机从上方接近墙壁,并试图飞过墙壁的缝隙(箭头所示)。您的任务是检查滑翔机是否穿过箭孔或撞到墙上。 输入项 您的输入是位网格,代表GoL配置。您可以采用任何合理的格式(任意两个可离散打印的ASCII字符的多行字符串,字符串列表,2D整数数组,2D布尔数组等)。为了清楚起见,下面将使用字符的多行字符串.#。 确保输入具有多个属性。首先,它的高度是2N一些Ñ≥6 ,其宽度至少是2N + 2。输入将全部为.s,除了在最上面的三行中的某个位置是滑翔机,而在中间的两行中是一堵墙。滑翔机将向西南或东南方向移动,其位置应确保如果移除了墙,则滑翔器在到达底部边缘之前不会穿过侧边缘(但可能会到达网格的某个角)。滑翔机最初与左边缘和右边缘分开至少.s 步长。它可以处于任何阶段。 墙由块组成,这些块由一列.s 隔开,但在一个地方,它们之间至少由两列.s 隔开。像滑翔机一样,最左边和最右边的块也与边缘分开.s 一步。左边缘上总是至少有一个块,而右边缘上总是有一个块。 这是有效输入网格的示例: ....#...................... ..#.#...................... ...##...................... ........................... ........................... ........................... .##.##............##.##.##. .##.##............##.##.##. ........................... ........................... ........................... ........................... ........................... ........................... 输出量 如前所述,您的任务是确定滑翔机是否撞入墙壁或使其滑到南边。出于此挑战的目的,如果配置不再由单个滑翔机和木块墙组成,则会发生崩溃,无论以后在仿真中发生什么。下图显示了东南滑翔机在两个不同的阶段中不会崩溃的最小间隙(西南滑翔机的条件是对称的)。 ...#........... .#.#........... ..##........... ............... ............... ##...........## ##...........## ...#........... ....#.......... ..###.......... ............... ............... ##...........## …

2
排列任意矩形以填充空间
这些矩形可以填充矩形空间吗? 给定一堆矩形,系统会询问您是否可以将它们安排为填充矩形空间。 眼镜 给定一堆任意m x n矩形;0 <= m, n <= 1000,确定是否可以对其进行排列,以使其完全覆盖矩形区域而没有任何孔洞或重叠。矩形不能旋转,每个矩形只能放置一次。 输入项 只要输入给出某种2维尺寸列表,此输入就非常灵活。例如,以下两个都是有效的: 按空格分隔,返回 1 2 1 5 4 5 3 6 尺寸表 [[1, 2], [1, 5], [4, 5], [3, 6]] 输出量 各种true / false值,例如true / false,0/1,T / F,True / False等。如果要使用不太明显的输出方法,请在答案中指定。 例子 测试用例1 输入: 1 1 1 5 2 6 …

4
打我一个OOP!
打我一个OOP! 面向对象编程的两个重要组成部分是继承和组合。它们一起允许创建简单而强大的类层次结构来解决问题。您的任务是解析有关类层次结构的一系列语句,并回答有关层次结构的问题。 输入项 从文件或标准输入中读取关于类层次结构的一系列语句和问题,以最适合您的语言的情况为准。如果使用file选项,文件名将作为第一个参数传递给代码(函数参数或命令行参数,无论您选择哪个)。格式如下: <statement> : <name> is a <name>. | <name> has a <name>. <question> : Is <name> a <name>? | Does <name> have a <name>? <name> : a-z | A-Z | sequence of alphanumerics or underscores, starting with a letter 输入将始终是语句,然后是问题。所有班级名称A-Z均以大写英文字母()开头,所有成员名称均以小写英文字母(a-z)开头。所有名称均区分大小写- ABC123与的类不同Abc123。 不会有任何周期性继承-如果B继承自A,A不会继承B或任何B的子代。 只有类名将成为层次结构的一部分-诸如foo is a bar.或document has …

3
救命,我被困在一个无限的工厂里!
Zachtronics游戏Infinifactory大致激发了这一挑战。 您将获得由表示的矩形输送机网格的俯视图>v<^。可能有一些没有传送带的小室,以空格表示。这是一个例子: > <vv < v ^ >v v >v^^>vv^ ^>^ v > v<v >> >v v<^ 此设置隐含无限数量的空格。 此外,还给出了矩形货物的尺寸,该货物放在网格左上角的传送带上。您的任务是弄清楚货物是否曾经停下来,或者最终是否会成环运动。 当然,货物可能会一次覆盖多个输送机,因此以下是在每个步骤中确定货物方向的规则: 对面的传送带互相抵消。因此,如果3x2货物覆盖以下任何补丁(为清晰起见,用连字符和管道勾勒出轮廓),结果将是相同的: +---+ +---+ +---+ |>>^| | ^| |v^^| |^<<| |^ | |^^v| +---+ +---+ +---+ 这些也是一样: +---+ +---+ +---+ |v^<| | | |><>| |>>>| |>> | |>><| +---+ +---+ +---+ …

30
诺亚的整数列表
介绍: 我想我们都听说过,但这里有一个简短的摘要:诺亚在大洪水中收集了地球上每种动物的两种,雄性和雌性,保存在他的方舟中。圣经中的实际引用是: 创世记7:2-3 你必须带走每种清洁动物中的七只,雄性及其伴侣,每种不清洁动物中的两只,雄性及其伴侣,以及天空中每种鸟类中的七种,无论雌雄,都将其后代保存在地球上。 资源 但是为了这个挑战,我们将忽略干净/不干净的部分以及他为每只动物取七个的部分。此挑战仅涉及以下部分: 每种不洁动物中的两种,雄性及其伴侣 挑战: 输入: 您会得到一个正整数列表(随机顺序)。 输出: 两个不同的值指示它是否是“诺亚列表”。这并不一定非得是truthy / falsey价值,所以也可能是0/ 1是Java / C#,或'A'/ 'B'以任何语言,举一些例子。 什么时候是“挪亚榜”?当列表中每个整数正好有两个时。 挑战规则: I / O是灵活的。输入可以是整数/浮点数/字符串的列表/数组/流,也可以从STDIN逐一读取。输出可以是从函数返回或输出到STDOUT /文件的任何两个不同的值。 在输入列表中的整数是随机顺序,并保证是该范围内的正1≤n≤1000001≤n≤1000001\leq n\leq100000。 输入列表保证为非空。 如果整数大于2(即4、6、8等),将是错误的。即[6,4,4,6,4,7,4,7]是假的,尽管您仍然可以像这样创建相等的对:[[4,4],[4,4],[6,6],[7,7]]。 一般规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例: Truthy: [7,13,9,2,10,2,4,10,7,13,4,9] [1,2,3,1,2,3] [10,100,1000,1,100,10,1000,1] [123,123] [8,22,57189,492,22,57188,8,492,57188,57189,1,1] Falsey: [6,4,4,6,4,7,4,7] [2,2,2,2,2,2] [5,1,4,5,1,1,4] …

11
这是Pascal的矩阵吗?
在帕斯卡三角形中,每个数字是其正上方两个数字的和,将空点视为零: 通过旋转三角形,我们可以切出大小和旋转不同的正方形矩阵,我将其称为Pascal矩阵。请注意,这些矩阵始终需要包含前1个1个1。这里有些例子: 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 6 3 1 3 2 1 1 1 1 1 5 15 35 70 1 4 10 20 35 1 3 6 10 15 1 2 3 4 5 1 1 1 …

30
IP地址与否?
您的网络扫描工具烦人地挑剔输入,如果您向它提供了包含不正确字符或格式不正确的IPv4地址,则会立即崩溃。 IPv4地址是一个32位数字地址,用四个数字隔开,每个数字用句点分隔。每个数字可以为零到255。 我们需要编写一个工具来对输入进行预验证以避免这些崩溃,并且我们的特定工具很挑剔:有效的格式如下所示:a.b.c.da,b,c和d: 可以是一个无前导零0的自然数。 应介于0-255(含)之间。 如果不包含特殊符号+,-,,,等。 应为小数(以开头10) 输入:字符串 输出:真值或假​​值(也可以接受任意值) 测试用例: Input | Output | Reason | | - 1.160.10.240 | true | - 192.001.32.47 | false | (leading zeros present) - 1.2.3. | false | (only three digits) - 1.2.3 | false | (only three digits) - 0.00.10.255 | false …

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.