Questions tagged «graph-theory»

对于有关图形的挑战,使用数学结构来建模对象之间的关系。

9
枚举二叉树
二叉树 二叉树是具有三种类型的节点的树: 没有子节点的终端节点 一元节点,每个节点有一个孩子 二进制节点,每个都有两个子节点 我们可以用BNF(巴克斯-纳尔形式)中给出的以下语法来表示它们: <e> ::= <terminal> | <unary> | <binary> <terminal> ::= "0" <unary> ::= "(1" <e> ")" <binary> ::= "(2" <e> " " <e> ")" 在此语法中,节点是按顺序排列的,每个节点都由一个数字表示,该数字表示其拥有的子代数。 莫兹金数 Motzkin数(OEIS)(Wikipedia)有多种解释,但一种解释是,nMotzkin数是具有n节点的不同二叉树的数目。莫兹金数表开始 N Motzkin number M(N) 1 1 2 1 3 2 4 4 5 9 6 21 7 51 …

3
岛屿地图(和河流)
介绍 许多世纪以来,有一条从未被绘制过的河流。制图师协会想要绘制河流图,但是他们从未成功过-出于某种原因,他们派去绘制河流图的所有制图师都被该地区的野生动物吞噬了。需要不同的方法。 输入说明 该区域是长m和宽单元格的矩形网格n。左下角0,0的单元格是,右上角的单元格是m-1,n-1。m并且n在输入中以元组形式提供m,n。 通过使用长距离地理探测技术,已经确定了河流周围岛屿的位置。也已经确定了岛的大小(即,岛占据了多少个单元格),但形状尚未确定。我们在一个元组s,x,y中提供此信息,该元组s是该岛的大小,x并且y是该岛的一个特定单元格的x和y位置。输入中的每个元组均以空格分隔,因此这是示例输入: 7,7 2,0,0 2,3,1 2,6,1 2,4,3 2,2,4 8,0,6 1,2,6 3,4,6 为了更清楚地说明,这是图形上的输入: y 6|8 1 3 5| 4| 2 3| 2 2| 1| 2 2 0|2 ======= 0123456 x 输出说明 使用ASCII字符输出地图以表示区域的一部分。每个单元格将是#(陆地)或.(水)。地图应遵循以下规则: 定义。岛屿是一组正交的陆地单元,完全由河流单元和/或该区域的边界限制。 定义。河流是一组正交的水单元,它们完全由陆地单元和/或该区域的边界限制,并且不包含“湖泊”(2x2的水单元区域)。 规则。地图应包含一条河流。 规则。输入中每个编号的单元格应为包含精确s单元格的孤岛的一部分。 规则。地图中的每个岛应在输入中精确包含一个编号的单元格。 规则。每个输入都有一个唯一的映射。 这是示例输入的输出: #.#.##. #....#. #.##... ##..##. ###.... ...##.# ##....# 这是另一个输入和输出。 输入: …

3
这是一棵真正的树吗?
您应该编写一个程序或函数来接收字符串作为输入,然后输出或返回(如果输入是ASCII树)。 _ \/ / \_/ | | ASCII树由字符/ \ | _ spaces和组成newlines。 非空白字符通过线段连接其单元格的两个边缘点: / 连接左下角和右上角 \ 连接右下角和左上角 | 连接底边和顶边的中点 _ 连接左下角和右下角以及底边的中点 (请注意,这意味着|只能连接|或_但不与/或\)。 如果遵循以下规则,则ASCII图片称为树: 恰好一个字符的一个点(根)碰到最后一行的底部边缘。 您可以通过以下方式到达任何线段的任意点: 从根开始 仅使用线段 永远不要朝下(甚至不向侧面) 输入值 一个由字符组成/ \ | _ space并且newline包含至少一个非空白字符的字符串。 您可以选择两种输入格式: 树周围没有不必要的空格(如示例所示)。 除了行右侧的空格使所有行具有相同的长度外,树周围没有不必要的空格(如示例所示)。 尾随换行符是可选的。 输出量 如果输入是ascii树,则为一致的真实值。 一致的falsy如果输入不是一个ASCII树值。 例子 有效树: | _ \/ / \_/ | | …

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

10
迷宫可以解决吗?
难题 如果迷宫n * m无法解析,则打印0 如果可以解决迷宫n * m(以1种或多种方式),则打印1。 (所以我不是在问路径,但是是否有可能解决!!!) 输入数组(2d): [[0,0,0,0,0,0,1],[0,0,0,0,0,1,0],[0,0,0,0,1,0,0],[1,0,0,0,0,0,0]] XXXXXXXXX XS XX X X X X X X XX FX XXXXXXXXX 0 = can pass through 1 = can not pass trough [0][n] is the last block of the first line [m][0] is the first block of the last …

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 

8
通过矩阵的最佳路径
给定一个由正整数组成的矩阵,当从左上角元素到右下角遍历时,输出总和最小的路径。您可以垂直,水平和对角移动。请注意,可以上下左右移动,也可以左右移动。 例: 1* 9 7 3 10 2 2 10 4* 1* 1* 1* 7 8 3 6 3 8 9 5* 7 8 10 2 5 2 1* 4 5 1 1 3 6 7 9* 给出最低总和的路径标有星号,并得出以下总和:1 + 4 + 1 + 1 + 1 + 5 + 1 …

2
岛屿高尔夫2:古怪的隐士
这是Island Golf系列挑战中的第二次挑战。先前的挑战 两个隐士到达了一个荒岛。由于他们寻求孤独,所以他们希望彼此之间住得尽可能远。他们应该在哪里建造小屋,以使他们之间的步行距离最大化? 相关阅读 输入项 您的输入将是一个由两个字符组成的矩形网格,分别代表土地和水。在下面的示例中,土地是#,水是.,但是您可以替换任意两个不同的字符。 ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... 始终将至少有两个地砖。地砖将是连续的(即只有一个岛)。瓷砖也将是连续的(即没有湖泊)。网格的外边界都是水瓦片。地砖将不会以对角线连接:即,您将永远不会看到类似 .... .#.. ..#. .... 输出量 您的代码必须输出相同的网格,并在网格上标记了两个小屋位置。在下面的示例中,小屋的位置用X标记,但是您可以替换任何字符,只要它与您的水陆字符不同即可。 小屋的位置必须为两个地砖,以选择它们之间的最大步行距离。我们将步行距离定义为两点之间完全在陆地上的最短路径的长度。地砖被视为水平或垂直相邻,但不对角。 上述岛屿的可能解决方案: ........... ...X#...... ..#####.... ..#######.. .#########. ...#######. ...#####.X. ....####... ........... 这两个点之间的步行距离是11,这是该岛上任何两个点之间的最大距离。还有另一个距离11解决方案: ........... ...##...... ..X####.... ..#######.. .#########. ...#######. ...#####.X. ....####... ........... 细节 您的解决方案可能是完整程序或功能。任何默认的输入和输出方法都是可以接受的。 您的输入和输出可以是多行字符串,字符串列表或2D数组/嵌套的字符列表/单字符字符串。您的输出可能(可选)有一个尾随换行符。如上所述,您可以使用任何三个不同的字符来代替#.X(请在提交中指定要使用的字符)。 测试用例 A.具有独特小屋位置的岛屿: .... .##. …

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

1
寻求跳跃者
我最近有一个非常奇怪的不规则棋盘。它的正方形到处都是,甚至没有全部相连。至少它们仍然布置在常规网格上。我希望适应国际象棋规则,以便能够在棋盘上玩游戏,但首先,我需要一块可以在棋盘上任何地方玩的棋子,这似乎是我最好的选择。 跳跃者是骑士的国际象棋概括。跃点由两个整数m和n设置参数,可以在一个方向上移动m个正方形,然后在任一垂直方向上移动另一个n个正方形。对于标准骑士,我们有(m,n)=(2,1)。整个动作被认为是一次跳跃,因此到目标途中的正方形都不需要为空,甚至不存在。 挑战 您会以正2D整数坐标列表的形式获得“棋盘”,该2D整数坐标表示作为棋盘一部分的正方形。您的任务是找到一个跳线,如果有足够的动作,该跳线可以到达板上的任何正方形。 让我们看一些例子。标准棋盘使用8x8正方形的规则网格(请注意,对于此挑战,我们不区分白色和黑色正方形): ######## ######## ######## ######## ######## ######## ######## ######## 标准骑士可以达到所有目标,因此(2, 1)是有效的输出。但是,(1, 1)例如,这将是无效的,因为无论从哪里开始,这样的一块都只能达到正方形的一半。(1, 0)另一方面,由于所有正方形都是正交连接的,因此这也是有效的输出。 现在,如果我们有一个不规则的董事会,例如: # # # # # # # # # # # 然后可能的解决方案是(1, 1)和(3, 1)。我们还可以拥有一个完全断开区域的板,例如: #### #### #### #### #### #### #### #### 标准的骑士(2, 1)仍然可以到达这里的所有方块,这实际上是唯一的解决方案。 最后,任何跳伞者都无法完全达到以下简单的要求: # ## 请注意,输入格式将不是ASCII表示,而是坐标列表。例如,上面的第二个示例可以给出为: [[1, 1], [5, 1], …

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

2
策划策略
我只能找到Mastermind的代码挑战,所以这是我想承担的代码挑战版本。 普通的Mastermind游戏的最佳策略MM(4,6)由Koyama和Lai于1993年发现,平均猜测数= 5625/1296〜4.34。MM(5,8)仍未解决,但估计平均猜测数约为5.5。 您的任务是创建一个MM(5,8)策略,该策略适用于5个孔和8种颜色,涵盖所有pow(8,5) = 32768可能的不同解决方案。显然,它不一定是最佳选择。您有两种选择: 发布确定性程序以生成策略。该程序必须在Windows 7,Mac OS X或Linux上可编译/运行,且没有任何其他非自由软件。 在Internet上的某个位置发布您的策略(以及您的StackExchange名称)并在此处发布URL。 在这两种情况下,请在答案的标题中注明分数(见下文)。 必须根据以下语法对策略进行编码: strategy : guessing-strategy | known-solution-strategy guessing-strategy : '{' guess ':' branches '}' known-solution-strategy : guess guess : color color color color color color : 'A'..'H' branches : '{' branch (',' branch)* '}' branch : reply ':' strategy …

1
完成网格填充曲折
网格填充曲折是一条封闭的路径,它至少访问一次N×NN×NN \times N正方形网格的每个像元,从未与相邻像元之间的任何边缘交叉超过一次,也从未与自身相交。例如: 填充后,网格的每个单元格都可以由以下8个图块之一表示: 以这种方式编号,以上蜿蜒的图块可以通过以下矩阵表示: 5 6 5 6 4 8 3 2 5 7 6 2 4 3 4 3 给定一组不完整的图块,您的任务是完成网格填充曲折。例如,不完整的曲折: ...可以使用0s表示缺少的图块: 5 0 0 0 6 0 0 7 0 0 0 0 0 0 3 2 4 0 0 0 0 0 3 0 0 ...可以这样完成: ...即: …

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.