Questions tagged «game-of-life»

挑战约翰·康威(John Conway)的《人生游戏》。

6
稳定的生活游戏
挑战: 给定0和1的矩阵(或2d数组),输出Conway的生活游戏达到稳定状态所需的步数,如果从未达到1,则输出-1。稳定状态是每个步骤都没有打开或关闭任何单元的状态。游戏必须在给定的矩阵中运行,顶部和底部连接,侧面连接。(即给定的4x3矩阵,它应该在4x3的圆环上运行)输入矩阵的大小不得超过15x15。 注意:如果矩阵以稳定状态开始,则输出应为0。 样品: 输入: [[0,0,0], [0,1,1], [0,1,0]] 输出: 2 流程:(此不需要显示) [[0,0,0], [0,1,1], [0,1,0]] [[1,1,1], [1,1,1], [1,1,1]] [[0,0,0], [0,0,0], [0,0,0]] 输入: [[0,0,1,1], [0,1,1,1], [0,1,0,0], [0,1,1,1]] 输出: 2 处理: [[0,0,1,1], [0,1,1,1], [0,1,0,0], [0,1,1,1]] [[0,0,0,0], [0,1,0,1], [0,0,0,0], [0,1,0,1]] [[0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0]] 输入: [[0,1,0,0], [0,1,0,0], [0,1,0,0], [0,0,0,0]] 输出: -1 处理: [[0,1,0,0], [0,1,0,0], …

10
解密扩展的韦氏格式
此挑战基于user48538的沙箱帖子。由于他不再活跃于此站点,因此我接手了这项挑战。 apgsearch是Conway的《生命游戏》的分布式汤搜索程序和搜索结果数据库,Catagolue使用apgcodes对样式进行分类和表示。apgcode本身使用扩展的Wechsler格式,这是Allan Wechsler在1992年开发的模式符号的扩展。 以下示例和图像取自LifeWiki。 集合中与正则表达式匹配的n个字符的字符串[0-9a-v]表示一条5行,n列宽的条带。每个字符表示对应于位串五个单元在垂直柱[ 00000,10000,01000... 00010,10010,01010,11010... 11111]。 例如,27deee6对应于重量级的太空飞船: ⎡⎣⎢⎢⎢⎢⎢⎢01个0001个1个1个001个01个1个001个1个1个001个1个1个001个1个1个001个1个00⎤⎦⎥⎥⎥⎥⎥⎥[01个1个00001个1个01个1个1个1个01个1个1个1个1个1个001个1个1个1个00000000] \begin{bmatrix} {\color{Gray}0} & 1 & 1 & {\color{Gray}0} & {\color{Gray}0} & {\color{Gray}0} & {\color{Gray}0} \\ 1 & 1 & {\color{Gray}0} & 1 & 1 & 1 & 1 \\ {\color{Gray}0} & 1 & 1 & 1 & 1 & 1 …

13
放置滑翔机!
这个: 是滑翔机。 在Conway的《生命游戏》中,滑翔机是一种著名的图案,可以快速遍历整个滑板。对于今天的挑战,我们将绘制一个ASCII艺术的生命游戏板,并在其上放置一个滑翔机。 我们开始的董事会是这样的: |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 此木板完全由管道|和下划线组成_,为10x10。您必须编写一个包含两个整数“ x”和“ y”的程序或函数,并在这些坐标处使用滑翔机输出同一块板。例如,如果在位置(1, 1)(索引为0)有一个滑翔机,则必须输出以下内容: |_|_|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |_|_|_|*|_|_|_|_|_|_| |_|*|*|*|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 您可以假设滑翔机将永远不会超出范围,因此x和y都将始终在该[0-7]范围内。您也可以选择采用1索引的坐标,但是必须在答案中指定。在这种情况下,输入将始终在[1-8]范围内。以下是一些示例(所有索引均为0): 0, 0: |_|*|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |*|*|*|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 7, 7: |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| …

1
生活:是创造还是进化?
给定方形的“生命游戏”网格的状态,确定它是否可以从任何先前的状态演变而来,或者只能被创建。即,确定该状态是否为“伊甸园”状态。 输入项 状态的正方形网格,其中1表示“活动”,0表示“死”。如果愿意,可以选择两个可区别的符号,而不是0和1。 网格的边长将不为零,但可以为任何自然数1 <= N <= 20。 输入网格外部的任何或所有单元格可能在此世代中仍处于活动状态,而它们中的任何或全部可能在上一代中已处于活动状态。要考虑的宇宙是无限的,因此没有边界条件。输入的边不是Universe的边。具体来说,网格不环绕。 输入可以采用行分隔字符串或单个字符串的形式。如果需要,可以将边长或网格面积作为附加输入(在网格之前或之后)。 可接受的输入格式: 010,101,010 010101010 010 101 010 3 010101010 输出量 如果没有可能导致下一代输入状态的先前状态(包括大于输入网格的状态),则为“已创建”。 如果存在至少一个可能导致下一代输入状态的先前状态(包括大于输入网格的状态),则为“已演化”。 如果愿意,可以使用任何两个可区分的字符串或数字来代替“ Created”和“ Evolved”。 注意,可能的先前状态不必与输入区分开。如果一个国家拥有自己作为下一代,那么它就应该被认为是进化的。 测试用例 010 101 010 Evolved 0101110100 0010101001 1011100110 0101111101 1001001111 1111001001 1011111010 0110011101 1001010100 0010111010 Created 创建的测试用例取自Achim Flammenkamp的《生命游戏页面》。 注意 感谢trichoplax编写了这个挑战,我从这里接受了它

3
在3D中实现生活游戏
面临的挑战是找到最短的3D生活游戏实施方式(示例)。这些是规则: 只有1个或更少邻居的像元(在这种情况下为立方体)会死亡,就像是出于孤独一样。 如果恰好有5个细胞围绕一个空细胞,则它们会繁殖并充满它。 如果一个小区有8个或更多的邻居,它将死于拥挤。 至少将其设置为10x10x10,这样才能分别输出图层: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 X 0 0 0 0 0 0 0 X X X …

1
正则表达式验证正则表达式[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 构建一个将接受正则表达式字符串作为输入的正则表达式,并检查其是否有效。基本上,您的正则表达式应该能够验证自己。(任何无效的正则表达式都不应进行验证,因此您不能使用.*。;)) 您的风味必须得到众所周知的实现(Perl,sed,grep,gawk等)的完全支持,并且必须完全支持那些实现所支持的功能。[不用担心律师说话;我只是想消除所有可能导致智能***的漏洞。] 我会对此进行编码,但是我担心它会给那些知道和使用非功能丰富的风味的人带来优势。还是我的担心没有根据?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

3
最长的非重复生命游戏序列
给定正整数N,请确定N x N网格上的起始模式,该模式在“人生博弈”规则下产生最长的非重复序列,并以固定模式(长度为1的循环)结束,并在圆环上播放。 目标不是最短的程序,而是最快的程序。 由于世界是有限的,您最终将最终陷入循环,从而重复一个已经访问过的状态。如果此循环的周期为1,则起始模式为有效候选者。 输出:起始模式和序列中唯一状态的总数(包括起始模式)。 现在,1x1圆环是特殊的,因为一个细胞可能被认为与自己相邻,但实际上,这没有问题,单个活细胞在两种情况下都只会死(拥挤或孤独)。因此,输入1产生一个长度为2的序列,该序列是一个存在的单元,然后永远死亡。 这个问题的动机是,它类似于忙碌的海狸函数,但由于我们的内存有限,因此它肯定不那么复杂。这也将是包含在OEIS中的一个很好的顺序。 对于N = 3,序列长度为3,左侧的任何图案都将到达完全黑色的3x3正方形,然后消失。(删除属于1周期一部分的所有模式)。

1
战略消失者
这篇帖子是从此mathoverflow帖子大致上受到启发的。 消失是Conway人生游戏中任何一种模式,只要经过一步,它就会完全消失。例如,下面的图案是9号Vanisher。 Vanishers的一个有趣特性是,只需添加更多活细胞,任何图案都可以变成一个消失的图案。例如,以下图案可以完全像这样消失在图案中 但是,我们可以通过添加更少的活细胞来将该图案制作成Vanisher。 您的任务是编写一个为我们完成此任务的程序。给定一个模式作为输入查找,并输出一个包含输入的消失模式。您不必仅找到有效的模式就找到最佳模式。 计分 要对您的程序评分,您将必须在所有大小为6的息肉小程序上运行该程序(不能对相等的对称情况进行两次计数)。 这是一个在每个行中包含每个倍增子的pastebin。一共有524个。它们表示为六个坐标的列表((x,y)元组)每个是活动单元的位置。 您的分数将是为使所有这些息肉变成Vanishers而添加的新细胞总数。 领带 对于平局,我将提供要运行的程序的大小为7的息肉列表。 IO 我希望IO非常灵活,可以采用合理的格式进行输入和输出,但是您可能希望采用与我提供的原始输入数据相同的格式进行输入。您的格式在多次运行中应保持一致。 定时 您的程序应在合理的时间内在合理的计算机上运行(大约<1天)。我并不会真正执行太多,但是我希望我们都玩的很好。

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡t=0。您可以假设l < r。例如,如果一个对象在上振荡[3, 6],则我们有: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 等等,但是物体不断振荡,所以我们还有t=0.5 -> 3.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

4
改变生活规则
类似于生命的细胞自动机是类似于Conway的“生命游戏”的细胞自动机,因为它们在(理论上)无限大的正方形网格上运行,其中每个单元正好有8个邻居,并且是2个状态之一,即存活和死亡。 但是,这些类似Like的版本在关键方面有所不同:给定单元存活的规则以及给定单元存活到下一代的规则。 例如,经典的“生命游戏”使用规则B3/S23,这意味着需要3个活细胞才能生出一个新细胞,而2或3个活着的邻居才能存活。对于此挑战,我们将假设邻居不包括自身,因此每个单元恰好具有8个邻居。 给定一个初始配置,一个出生规则,一个生存规则和一个正整数(要运行的世代数),您的任务就是使用这些规则模拟生命似的自动机,以尽可能短的代码给出世代数。您可以选择初始配置为方矩阵/ 2维数组或多行字符串。其他可以以任何合理的格式和方法给出。 例如,如果出生规则是12345678(任何居住的邻居),则生存规则是2357,并且初始配置是 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 接下来的两代人 Generation 1: Generation 2: 0 0 0 0 0 1 1 1 1 1 0 1 1 1 …

4
生活与疲劳的游戏
Stewie的《生命与疲劳游戏》与更著名的Conway的《生命游戏》非常相似。 Stewie的“生命与疲劳游戏”(GoLF)的宇宙是一个由正方形单元组成的无限二维正交网格,每个网格都处于三种可能的状态之一,即活着,死亡或疲倦。每个单元都与其八个相邻的单元进行交互,这八个单元是水平,垂直或对角线相邻的单元。在每个时间步上,都会发生以下转换: 任何具有少于两个活邻居的活细胞都会死亡,好像是由于人口不足造成的。 任何有两个或三个活邻居的活细胞都可以存活到下一代。 任何具有三个以上活邻居的活细胞都会死亡,就好像人口过多一样。 具有正好三个活邻居的任何死细胞都将变成活细胞,就像通过繁殖一样。 连续存活了两个世代的任何细胞都会死亡,好像是由于疲劳而死亡。直到下一代,它才能重生 输入网格边界之外的任何像元都将消失,就像从悬崖上掉下来一样。 挑战: 您面临的挑战是获取一个代表GoLF初始状态的n×m尺寸的网格和一个整数p,并在p代之后输出游戏的状态。 规则: 输入和输出格式是可选的,但输入/输出网格应具有相同的表示形式 您可以选择任何可打印的符号来表示活细胞和死细胞(我将1用于活细胞和0死细胞)。 您可以选择索引为0还是1。在示例中,p=1是指一步之后的状态。 每种语言中最短的代码获胜 允许用于蜂窝自动化的内置功能 测试用例: 在示例中,我仅在输入中包含输入网格,而不是p。我提供了各种p值的输出。您只能输出与给定输入p一起的网格。 Input: 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 --- Output --- p = 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.