Questions tagged «grid»

对于涉及网格的挑战。

2
帮助我们的机器人到达传送器
更新:添加了一个Python框架来开始。 太空站已经被破碎机器人取代。在站点自毁之前,您必须将许多昂贵且易碎的被称为“兔子”的高科技机器人引导到出口传送带,但是破碎机器人正在走廊上巡逻。 您的程序将获得一个ASCII映射,并且每转都会告诉破碎机器人在哪里以及您当前的兔子在哪里。然后,您的程序应将兔子移向出口传送带,同时避开破碎机器人。 执行 使用以下命令运行Python 2控制器: python controller.py <mapfile> <turns> <seed> <runs> <prog>... <prog> can be <interpreter> <yourprog> or similar. 种子是用于破碎机和程序PRNG的小整数,因此运行是可重复的。不管实际使用的种子如何,您的程序都应一致地执行。如果种子为零,则控制器将为每次运行使用随机种子。 控制器将使用地图文本文件的名称和种子作为参数来运行您的程序。例如: perl wandomwabbits.pl large.map 322 如果您的程序使用PRNG,则应使用给定的种子对其进行初始化。然后,控制器通过STDIN发送程序更新,并通过STDOUT读取兔子的运动。 控制器每转一圈将输出3行: turnsleft <INT> crusher <x,y> <movesto|crushes> <x,y>; ... rabbits <x,y> <x,y> ... 然后等待程序输出一行: move <x,y> to <x,y>; ... 更新:在控制器发送第一行之前,您的程序将有2秒钟的初始化时间。 如果您的程序在输入控制器兔子位置后花了0.5秒以上的时间来响应移动,则控制器将退出。 如果网格上没有兔子,则Rabbits行将没有值,并且您的程序应输出一条裸露的“ move”字符串行。 请记住,每转一圈都要刷新程序输出流,否则控制器可能会挂起。 …

2
Snakepit的食物短缺
Snakepit的食物短缺 蛇窝是35年以来的第一次,粮食已经耗尽。现在,居住的蛇必须互相搏斗,以度过这种粮食短缺的状况。食物链的顶端只能有一条蛇! 排行榜 还没来 2月24日的最新更新 链接到最近比赛的可视化 描述 如果您想争取剩下的所有苹果/樱桃/其他东西,则必须以程序的形式提供一条蛇,该蛇可以接受给定的输入并返回下一步。 唯一的转折是您并不孤单。另一条蛇也会尝试获得稀有食物!但是蛇形洞内部很暗,所以您只能看到自己和苹果。撞到对手会导致您死亡,就像咬自己或撞墙一样。此外,由于这些天苹果很少见,如果对手的进食量足以达到7岁,您就会饿死。 蛇形坑是一个二维地图,宽度和高度为15,而最外面的砖块则筑起了不可逾越的墙: 0 1 2 . . . c d e 0 # # # # # # # # # 1 # # 2 # x # . # # . # # . # # c # # d # …

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 

2
具有自由n-多胺基的n X n正方形的不同平铺数目
几分钟前刚刚发布了最新的“不错的” OEIS序列A328020。 带有自由n-多胺基的n X n正方形的不同平铺数目。 此序列将平铺计数到正方形的对称性。该序列有六个术语,但是我想看看这里的人是否可以进一步扩展它。 例 因为n=4有22个这样的网格,如OEIS的此图所示。 图片来源:Jeff Bowermaster,A328020(4)插图。 挑战 像之前的挑战一样,此挑战的目标是按此顺序计算尽可能多的项,该项开始1, 1, 2, 22, 515, 56734于第n个项,即具有n个多氨基酸的n X n网格的平铺数。 只要您愿意,就可以运行您的代码。挑战的胜者将是发布序列中最多术语的用户,以及生成该序列的代码的用户。如果两个用户发布相同数量的条款,则以最早发布最后一个条款的人为准。

1
强大的连接
介绍 像这样的一块大方形木板定义了一个种植园: 每个小方块内的数字代表其面积的价值/现金/ ... 农民需要帮助才能找到相连的N个正方形(这意味着所有N个正方形都应至少有一个共享边界)为他带来最大的价值。 例如: 如果为N=1,则输出必须为140。 如果是N=6,那么.. ..the输出必须315。 挑战 您的程序/函数必须将矩阵的值和数字N作为输入/参数,并且必须输出强大的连接的值。 由于这是代码高尔夫,因此以字节为单位的最短答案为胜! 例子 输入: 10 -7 11 7 3 31 33 31 2 5 121 15 22 -8 12 10 -19 43 12 -4 54 77 -7 -21 2 8 6 -70 109 1 140 3 -98 6 13 20 …
17 code-golf  grid 

10
分配客机座位
受到上周APL课程的启发。 给定一个大写的2D座位图和一维客户列表,返回座位图和客户列表,但进行如下修改(以指示已占用的座位和就座的客户): 对于输入的乘客列表中的每个唯一字母,将其在座位图中的所有字母(或全部,如果没有足够的话)都小写,从左到右,从上到下。 对于座位图中的每个唯一字母,将乘客列表中该字母中的许多(或全部,如果没有足够的话)小写,从左到右。 输入座位图只包含空格和大写字母集合{ F,B,P,E},并且可以是: 通过换行符分成几行 字符串列表 大写字母矩阵 任何其他可比较的格式 输入客户名单只包含从一组大写字母{ F,B,P,E },可以是: 一个字符串 字符列表 任何其他可比较的格式 返回的座位图必须与输入的座位图相同,不同之处在于将零个或多个字母折叠成小写 返回的客户列表必须与输入的客户列表相同,除了将零个或多个字母折叠成小写字母外 允许前导和尾随空格 示例(美联航飞机的简化版) ERJ145 座位图输入: P E E PP E EE E EE E EE E EE P PP E EE E EE E EE 旅客名单输入: FFEEEEEEEEEEEEEEEE 座位图输出: P e e PP e …

5
为ais523做BackFlip!
这个挑战是奖ais523为赢得了“ 年度最佳新秀类别”中的“ 最佳PPCG 2016 ”。恭喜你! BackFlip是由ais523用户开发的一种深奥的编程语言,他已经创建了30多种其他有趣的esolang。 BackFlip是一种2D语言,例如Befunge或> <>,其中指令指针遍历文本网格(程序),上下移动,左右移动,并根据其所在的字符改变方向。至关重要的是,BackFlip程序中的网格在遍历时会发生变化,有点像Langton的Ant。 对于此挑战,您可以假定BackFlip程序始终是文本的矩形网格(所有行的长度相同),最小大小为1×1,仅包含字符./\<>^V。(.用于可见性,而不是空间。)语义上,我们将在此处使用的BackFlip与原始规范相同。 BackFlip中的指令指针(IP)始终从程序左上角的左侧开始,一直向右移动。它可以遇到三种命令: .是无人操作。IP继续朝着前进的方向发展。无操作保持无操作。 /并且\是镜子。它们沿其角度指示的方向反射IP,然后变为另一种类型的反射镜。 例如,如果IP头向左\移动,它将开始向上移动,而不是向左移动,然后\变为a /。 <,>,^,和V是箭头。他们将IP重定向到其指向的方向,然后变为箭头,指向IP的来源方向(与IP的移动方向相反)。 例如,如果IP向下进入>,则它开始向右移动而不是向下移动,并且>变为,^因为这就是IP的方向。 当IP超出范围(即脱离网格)时,BackFlip程序终止。事实证明,所有 BackFlip程序最终都会终止,因为不可能进行无限循环。(您可能认为这是真的。) 您在此挑战中的目标是编写一个程序或函数,该程序或函数接受BackFlip程序并输出指令指针在程序终止之前执行的移动次数。也就是说,IP在运行程序的过程中需要采取多少步骤?这包括进入网格的初始步骤和离开网格的最后一步。 例如,指令指针在平凡的网格中采用了5个步骤....: .... <- empty 4×1 grid 012345 <- step number of the IP 因此,输出....为5。 在更复杂的4×2网格中 \... \.>< IP在第9步退出网格,因此输出为9: step grid IP position (@) 0 \... @.... \.>< .... 1 \... @... …

20
分解一个数字!
您的任务是使用以下格式分解数字。 这与基本转换类似,不同之处在于digits,您列出了values,而不是在基本列表中列出,这样列表就加到了输入上。 如果给定的基为n,则列表中的每个数字都必须采用的形式k*(n**m),其中0<=k<n和m在整个列表中都是唯一的。 眼镜 任何合理的输入/输出格式。您的程序/功能需要2个输入并输出一个列表。 输出列表可以是任何顺序。 0 可以排除或包含。 0允许领导。 允许内置。 测试用例 number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 计分 这是代码高尔夫球。以字节为单位的最短解决方案获胜。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

1
我可以住在这里吗?
在Terraria游戏中,游戏机制之一是建造房屋,以便NPC可以进入。有一套严格的规则来确定什么是有效房屋。以下是规则列表: 房屋的总面积必须至少为60平方米,但少于750平方米。此外,房屋的尺寸(包括外框)必须至少为以下尺寸之一: 5x12 6x10 7x9 8x8 9x7 10x6 12x5 15x4 为简单起见,您可以放心地假设:a)所有输入房屋将为矩形,并且b)房屋内将没有实心砖#。这是我们的12x6帧(以漂亮的ASCII绘制): ############ # # # # # # # # ############ 房子必须被背景墙覆盖。这些不是实心砖,而是三维空间中房子后面的墙。允许有孔,但任何孔都不能大于4x4。如果一行或一列中有5个或更多的空格字符,则该孔大于4x4,并且该房屋无效。也可以有多个孔,但必须至少有一个壁。 ############ #**********# #**********# #**********# #**********# ############ ############ #* * # #* * # #* * # #****** # ############ (Still acceptable since neither hole is larger than 4x4 …
16 code-golf  string  game  grid 

7
打印Pentomino矩形
编写一个程序或函数,该程序或函数不输入任何内容,但打印或返回由12种不同的Penminominos组成的矩形的恒定文本描述: 矩形可以具有任意尺寸,并且在任何方向上都可以,但是所有12个戊糖都必须精确使用一次,因此其面积为60。每个不同的戊糖都必须由不同的可打印ASCII字符组成(您不必使用上面的字母)。 例如,如果您选择输出此20×3 pentomino矩形解决方案: 程序的输出可能如下所示: 00.@@@ccccF111//=--- 0...@@c))FFF1//8===- 00.ttttt)))F1/8888=- 另外,您可能会发现更容易打高尔夫球这种6×10的解决方案: 000111 203331 203431 22 444 2 46 57 666 57769! 58779! 58899! 5889!! 任何矩形解决方案都可以,您的程序只需打印一个即可。(输出中的尾随换行符就可以了。) 这个出色的网站提供了各种矩形尺寸的解决方案,值得您浏览以确保解决方案尽可能简短。这是代码高尔夫球,最短的答案以字节为单位。

1
将比萨切成相同的切片
在我完全阅读它之前,这就是我认为的问题。 一群有经验的高尔夫球手走进第十九叮咬比萨店,点了一个披萨。它呈不规则形状,由单位正方形组成。您的任务是帮助他们将其切成相同的切片。也就是说,切片必须具有完全相同的形状和大小。它们可以旋转,但不能翻转/镜像。例如,如果它们是俄罗斯方块,它们必须是同一种,则不能同时使用L片和J片。 输入值 在第一行中将为您提供组中的人数(总是2到10之间的整数,包括2和10),然后是矩形的矩阵,由''(空格)和'#'字符组成,代表披萨。所有“#”字符都通过其边缘连接。“#”字符的数量保证为人数的倍数。 输出量 您应该打印相同的矩阵,每个'#'字符替换为从0到n-1的数字(n是人数)。每个数字应标记一个切片。切片形状必须通过正方形边缘连接。切片编号不需要按任何特定顺序进行。如果有多种切比萨饼的方法,那么任何一种都是可以接受的。 如果无法按照要求切比萨饼,则应打印字符串“ No pizza for you!”。代替。 计分 这是代码高尔夫。您的分数将是程序中的字节数。字符将通过其UTF-8编码进行计数。最低分获胜。 例子 输入: 3 # ### #### # 输出: 0 100 1122 2 输入: 4 ### # # ### 输出: 001 2 1 233 输入: 2 # # ###### 输出: No pizza for you! 输入: 5 # #### …

2
得分游戏《王国建设者》
我想在这里尝试一种新的代码高尔夫形式。与奖金类似,并非必须完成挑战的所有部分,但每个答案都必须实现一定规模的子集(并且每个答案都必须实现一个核心)。因此,除了打高尔夫球之外,这项挑战还涉及选择一套可以完美搭配的功能。 规则 Kingdom Builder是一种棋盘游戏,在(尖顶)十六进制网格上播放。该评估板由四个(随机的)象限组成,每个象限具有10x10的十六进制单元(因此完整的评估板将为20x20)。出于此挑战的目的,每个十六进制单元格包含水(W),山(M),城镇(T),城堡(C)或为空(.)。所以象限看起来像 . . W . . . . . . . . M W W . . . . . . . M . . W . . . T . M M . W . . . . . . . . M . W W …

4
骑士填充网格
骑士填充是利用骑士棋子的连通性进行的洪水填充。特别: 1 1 1 1 0 1 1 1 1 (0是初始点,1s表示连接的单元格) 挑战 给定空间和墙壁的2D网格以及初始位置,请对该网格执行骑士填充。最短的代码获胜。 规则 您可以采用任何喜欢的格式(图像,字符串,数组等)输入并产生输出。您可以将初始位置作为输入网格的一部分或作为单独的坐标。为了便于说明,将使用以下格式: ######## # = wall ######## x = initial location ## x ## ## ## ######## ## ## ######## ######## 输出是输入栅格的副本,其中添加了骑士填充结果 您的填充不得与空间或墙壁使用相同的“颜色”,而应与初始位置标记相同。例如,给定上面的图像,有效的输出将是: ######## # = wall ######## @ = fill (could also have been x) ## …

11
对齐文本网格的对角线
给定一个矩形的文本网格,将从左上角到右下角的对角线排列成列,以使所有对角线的最右下角的字符都在一个水平上。使用空格进行缩进。 例如,如果输入的文本网格为 abcd 1234 WXYZ 然后你会排队对角线W,1X,a2Y,b3z,c4,和d在给这个输出列: ab 123c WXYZ4d 请注意,所有对角线的最右下角的字符WXYZ4d处于同一级别。 细节 文本的输入网格的大小至少为1×1,并且所有行的长度都相同。 您可以将输入网格作为多行字符串或作为单行字符串的列表。 输入网格将仅包含可打印的ASCII字符(包括空格)。 输出可能有一个尾随换行符,但不应有其他空行。 输出的行可以选择有尾随空格,但不应有不必要的前导空格。 其他例子 空行分隔示例。每个输入后紧跟其输出。 123 456 789 1 452 78963 123.?! 456??! 789!!! 123. 456??? 789!!!!! **@ @ ** @ @ /\/\ \/ / / /\ \/\/ / \/\ / / / \/\/\/\ 12 34 56 …
15 code-golf  string  grid 

5
离外部有多远?
取一个2D空间区域,该区域划分为以轴对齐的单位正方形元素,其中心以整数间隔对齐。如果一条边由两个元素共享,则称该边为内部,否则为外部边。 您的目标是找到从每个元素的中心开始(即traversal distance或distance简称为)到达外部边缘必须经过的最小数量的相邻元素。您只能穿过一条边缘(即没有切角/对角运动)。注意,“外部元素”(具有至少一个外部边缘的元素)被认为需要遍历0相邻元素才能到达外部边缘。 输入值 输入是一个非负整数对坐标的列表,表示所有元素中心的(x,y)。假定不存在重叠元素(即x / y对唯一标识一个元素)。您可能不假定有关元素输入顺序的任何信息。 欢迎您将输入的原点转换到任何位置(例如0,0或1,1,等等)。 您可以假定所有输入元素都已连接,或者换句话说,可以使用上述规则从任何一个元素移动到任何其他元素。注意,这并不意味着2D区域只是简单连接。里面可能有孔。 示例:以下为无效输入。 0,0 2,0 不需要错误检查。 输入可以来自任何来源(文件,stdio,函数参数等) 输出量 输出应该是标识每个元素的坐标列表,并遍历相应的整数距离以到达边缘。输出可以按所需的任何元素顺序进行(例如,您不必按与输入相同的顺序输出元素)。 输出可以是任何源(文件,stdio,函数返回值等) 任何与元素的坐标与其外部距离匹配的输出都可以,例如,所有这些都可以: x,y: distance ... [((x,y), distance), ...] [(x,y,distance), ...] 例子 文本示例输入的格式为x,y,每行一个元素;欢迎您将其重塑为方便的输入格式(请参阅输入格式规则)。 文本示例输出的格式为x,y: distance,每行一个元素;同样,欢迎您将其重塑为方便的输出格式(请参见输出格式规则)。 图形数字的左下边界为(0,0),内部数字表示到达外部边缘的预期最小距离。请注意,这些数字仅用于演示目的;您的程序不需要输出这些。 例子1 输入: 1,0 3,0 0,1 1,2 1,1 2,1 4,3 3,1 2,2 2,3 3,2 3,3 输出: 1,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.