Questions tagged «grid»

对于涉及网格的挑战。

6
预测落石
在此挑战中,您将获得从侧面看的二维地形图。不幸的是,地形的某些部分漂浮在空中,这意味着它们会坠落。您的工作是预测它们的降落位置。 输入 您的输入是一个或多个等长的换行符分隔的字符串,仅包含以下字符#(数字符号,表示一块岩石)或.(一个句点,表示空白)。 输出 您的输出具有与输入相同的格式,但具有以下修改。让我们将输入字符串视为岩石的二维网格。输入中通过相邻岩石的路径连接到网格底部的每个岩石都是牢固的 ; 其他岩石松动。对角相邻的岩石不视为相邻。所有松散的岩石都将直线下落,最后以一堆堆叠的形式固定在坚硬的岩石或底行上。松散的岩石彼此不相连,因此它们是单独坠落的,而不是大地层。输出是结果网格。 例子 输入 ..###. .##.#. .#.... .##.#. 不含松散的岩石,因此输出与此相同。 输入 ...#.. .#..#. .#..## .#...# .##### .#...# 顶部包含一块松散的岩石,然后掉落在其下方的坚硬岩石上。输出是 ...... .#..#. .#..## .#.#.# .##### .#...# 输入 .#####.... .#....#### ###.###..# #.#...##.. .####..#.# ......###. ..#...#..# ..#...#..# 左侧有一大堆松动的岩石。该组随着岩石的下落而分解,因此输出为 .......... ....###### ..#.###..# . #...##.. .##....#.. .##...#### ####..#..# #####.#..# 澄清说明 您可以从STDIN接收输入并输出到STDOUT,也可以编写函数。 这是代码高尔夫球,因此最短的程序(以字节为单位)是赢家。 …
18 code-golf  grid 

7
高斯飞往爱森斯坦
给定一个高斯整数,其中,是整数,并且是虚数单位,返回最接近的(爱荷华氏距离的wrt)爱森斯坦整数其中,是整数,。a + b 我a+bia+bi一种aabbbi = 经验(π我/ 2 )i=exp⁡(πi/2)i = \exp\left(\pi i/2\right)ķ + 升ωk+lωk+l\omegaķkk升llω = 经验(2 πi / 3 )= (− 1 + i 3–√)/ 2ω=exp⁡(2πi/3)=(−1+i3)/2\omega = \exp(2\pi i/3) = (-1+i\sqrt{3})/2 背景 很明显,每个高斯整数可以唯一地用,整数表示为。它不是那么明显,但仍然如此:任何艾森斯坦整数能唯一被写为与,整数。它们都形成复数内的 -模数,并且分别是或的第p个环原子整数。注意a + b 我a+bia+bi一种aabbbķ + 升ωk+lωk+l\omegaķkk升llZZ\mathbb{Z}p=2p=2p=23333+2i≠3+2ω3+2i≠3+2ω3+2i \neq 3+2\omega 资料来源:commons.wikimedia.org 细节 如果给定的复数具有两个或三个最接近的点,则可以返回任何一个。 复数以直角坐标(bass)给出,但不是以任何方便的格式(例如或或类似形式)给出。(1,i)(1,i)(1,i)(A,B)A+BiA+B*1j 爱森斯坦整数必须作为基数坐标返回但不是以任何方便的格式(如or 或etc)返回。(1,ω)(1,ω)(1,\omega)(K,L)K+LωK+L*1ω 例子 所有实整数显然应该再次映射到实整数。 6,14 -> …

10
二维气泡排序
排序对于二维数组没有意义...还是吗? 您的任务是获取一个输入网格,并对它应用类似于冒泡排序的算法,直到网格中的所有值沿每一行和每一列从左到右,从上到下不递减。 该算法的工作原理如下: 每次遍历都从上到下逐行进行,比较/交换每个单元格及其右侧和下方的邻居。 如果该单元格仅大于其右侧和邻域之一,则与该单元格大于 如果该单元格大于其右侧邻居和下方邻居,请与较小的邻居交换 如果单元格大于其右侧和下方的邻居(均为相同值),则与下方的邻居交换。 如果该单元格不大于其右侧和相邻单元格中的任何一个,则不执行任何操作 继续进行此操作,直到整个过程中没有进行交换为止。这是每行和每列从左到右,从上到下按顺序排列的时间。 例 4 2 1 3 3 5 7 2 1 通过的第一行将交换4和2,然后将4与1交换。 2 1 4 3 3 5 7 2 1 当我们得到中间的3时,它将与下面的2交换 2 1 4 3 2 5 7 3 1 然后将5与下面的1交换 2 1 4 3 2 1 7 3 5 第一遍的最后一行将7一直移到右侧 …
17 code-golf  grid 

1
将方形网格划分为相等面积的部分
此挑战基于以下难题:给您一个nby n网格,其中带有n标记的单元格。您的工作是将网格划分为多个n部分,其中每个部分均由精确的n单元格组成,每个单元格仅包含一个标记的单元格。 例 这是左边的难题,右边是其(唯一)解决方案: 挑战 您会n以任何合理的格式获得一组零索引的坐标。 [(0,0), (0,3), (1,0), (1,1), (2,2)] 您的工作是编写一个返回任何有效分区(同样,以任何合理的格式)的程序。 [ [(0,0), (0,1), (0,2), (1,2), (1,3)], [(0,3), (0,4), (1,4), (2,4), (3,4)], [(1,0), (2,0), (3,0), (4,0), (4,1)], [(1,1), (2,1), (3,1), (3,2), (4,2)], [(2,2), (2,3), (3,3), (4,3), (4,4)] ] 如果难题没有解决方案,程序应通过抛出错误或返回空解决方案来表明这一点。 输入/输出示例 [(0,0)] => [[(0,0)]] [(0,0), (1,1)] => [ [(0,0), (1,0)], …

3
死蛙走
介绍 乔尼想扮演Frogger。但是,他不是很好。实际上,只有在平台移动之后,他才会尝试前进。 找出Jonny的青蛙是否设法到达路径的尽头或它是否在途中死亡。 挑战 该程序将接收由0s和1s 组成的Frogger网格作为输入,格式如下: 网格将具有随机的宽度和长度,并且至少为3x3 1 代表平台 0 代表水 F 代表青蛙的起始位置 网格的第一行和最后一行仅由1s 组成,并且不会移动,并且青蛙F将随机放置在最后一行 每个中间层将始终在移动,并且每行的末尾都有一个<或>,指示它是向左还是向右移动 允许将这些符号替换为您自己的符号,只要它们完全不同并且您在答案中指定替换即可。 输入可以采用任何兼容格式(带换行符的字符串,字符串数组,字符数组等)。 挑战规则 每转,所有平台都会根据<或>符号指示的方向移动一个正方形 如果平台被推离“屏幕”,它们会重新出现在网格的另一侧 如果青蛙在移动的平台上,它将随之移动 在那之后,青蛙将跳到顶部一格。青蛙每转都会移动。 如果青蛙跳入水中(0)或与移动平台一起接触网格的一侧,则会死亡。 如果青蛙幸存,您的程序必须输出真实值,否则输出虚假值。 这是代码高尔夫球,因此最短的答案以字节为单位。有标准漏洞。 例子 例子1 输入项 11111 00111> 00101< 1F111 输出量 1 执行 转弯1: 11111 10011 01010 1F111 11111 10011 0F010 11111 转弯2: 11111 11001 F0100 11111 …

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

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

8
有多少个孔?
挑战 给定形状的图形输入,确定其中有多少个孔。 不重复 该问题被标记为Count Islands可能重复。我认为这一挑战与Count Island挑战不同,因为在这一挑战中,您必须弄清楚如何消除接触边界的障碍物。 输入项 输入将以2D输入形式给出,即多行字符串,字符串数组或字符数组数组。这代表形状。保证形状只有一件,通过边缘连接。请指定您希望如何输入。 输出量 输出是一个单个整数,说明形状中有多少个孔。尾随换行符是允许的,但不允许其他前导或尾随空格。换句话说,输出必须匹配正则表达式^\d+\n?$。 什么是孔? 这些是单孔: #### # # # # #### #### # # # ## ### ##### # # # # # ##### 这些不是漏洞: ######## ######## # #### # #### # ###### # ######## ### # ### ########## # # ######## # …

6
一cube文字݀
上次您制作了一个正方形的文本,但是现在,您可以制作一个立方体的文本了吗? 挑战 给定一个字符串,以多维数据集的形式输出该字符串。 您可以假定该字符串将始终具有2个字符或更多,并且仅具有可打印的ascii字符。 如何制作文字方块 测试用例 Input: Test Output: Test e ss s e e tseT T s e e e ss Test Input: Hello, world! Output: Hello, world! e dd l l l l r r o o o , w w w , , o o o r …

3
用绳子带领你的乌龟
编写一个程序或函数,该程序或函数采用非空单行字符串,该字符串包含可打印的ascii字符(不包括空格): !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 您可以假设输入有效。 根据输入,按照乌龟图形-像这样的规则,在乌龟始终占据一个栅格空间并且只能面对基本方向的情况下,在文本空间和换行符的文本网格上绘制新的字符串。 将输入字符串中的第一个字符打印到文本网格中。乌龟从这里开始朝右。遍历输入字符串中的其余字符(仅在乌龟被卡住时才停止),重复此过程: 如果与海龟直接相邻的4个网格空间都被填充了(即它们都不是一个空间),请停止迭代。乌龟被卡住,网格已尽可能完整。 查看输入中的当前字符与前一个字符的比较: 如果当前角色在词汇上比前一个更早,将乌龟向左旋转四分之一圈。 如果当前角色在词汇上在前一个之后,则将乌龟向右旋转四分之一圈。 如果当前角色与前一个角色相同,请不要旋转乌龟。 如果乌龟现在面对的网格空间不为空(即不是一个空间),请反复将乌龟向左旋转四分之一圈,直到乌龟面对一个空的网格空间。 将乌龟朝着她所面对的方向向前移动一个格,并在乌龟的新位置将当前角色打印在格上。 打印或返回结果文本网格字符串,没有多余的行或列的空白。行的行尾空格可以一直到最右边的列,且不能有空格,但不能超过。可选地允许单条尾随换行符。 以字节为单位的最短代码获胜。 例 这是输入的所有步骤spattuuxze。所述^V<>字符显示龟面对的方向,他们是不输入或输出的一部分。 s> ^ p s <ap s ^ t ap s ^ t t ap s tu> t ap s tuu> t ap s tuu t x apV s tuu <zx ap s 此时,乌龟被卡住了,所以e永不打印,最终输出为: tuu …
17 code-golf  string  grid 

5
在所有方向上转到矩形的对角-更硬
这与这个问题本质上是一样的,只是难度更大。您将再次编写一个从矩形的左下角到右上角的程序。但是,这次允许对角线移动。 该程序将接受一个有序对(width, height),并将其用作矩形的尺寸。然后,您的程序将创建该解决方案的ASCII艺术形式(.用于一个空的正方形,#该解决方案的一部分以及X用于开始的正方形),并计算到达终点所需的移动次数。 例 输入: (5, 6) 输出: ....# ....# ...#. ..#.. .#... X.... Move count: 5 以字节为单位的最短答案胜出!

4
拨动开关
在黑暗的房间中醒来后,您会看到带有相应开关的矩形灯光网格。您决定使用一个坐标系,其左下方的灯代表(1,1),并且坐标随着向上(y方向)和向右(x方向)的增加而增加。网格的相同之处在于,将(a,b)处的开关拨动可切换(a,b)处的光以及与()在同一列或同一行的光a,b)。 您的输入将是一个由两个不同的字符组成的矩形网格,分别表示打开和关闭(我分别使用1和0)。同样,输入的一部分将是一系列至少一个坐标对(具有所需的任何格式和分隔符)的序列,它们代表您要翻转的开关。 输出将是同一网格,在作为输入提供的每个坐标对上将应用“翻转”。您可以选择如何格式化输入,尽管输出必须是网格,而不是数组。 样品 样品输入1 111111 111111 111111 111111 (3,2) 样品输出1 110111 110111 000000 110111 样品输入2 01101 10100 00010 11111 10110 (1,1), (5,5) 样品输出2 00010 00101 10011 01110 01000 样品输入3 1 (1,1) 样品输出3 0 样品输入4 00000 11111 00000 11111 (2,3), (2,3) 样品输出4 00000 11111 00000 11111 这是代码高尔夫。适用标准规则。以字节为单位的最短代码获胜。
17 code-golf  grid 

11
网格交叉顺序
如果您拿一张方格纸并画一条m向右移动并向n上移动的斜线,则您将按一定顺序交叉n-1水平和m-1垂直网格线。编写代码以输出该序列。 例如,m=5并且n=3给出了: 可能相关:产生欧几里德节奏,斐波那契平铺,FizzBu​​zz 输入:m,n相对质数的两个正整数 输出:将交叉点作为两个不同标记的序列返回或打印。例如,它可以是一串H和V的列表,True并且False,或0的和1的打印在单独的行。令牌之间可以有分隔符,只要它始终是相同的即可,而不是可变数量的空格。 测试用例: 第一个测试用例输出为空或不输出。 1 1 1 2 H 2 1 V 1 3 HH 3 2 VHV 3 5 HVHHVH 5 3 VHVVHV 10 3 VVVHVVVHVVV 4 11 HHVHHHVHHHVHH 19 17 VHVHVHVHVHVHVHVHVVHVHVHVHVHVHVHVHV 39 100 HHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHHHVHHVHHHVHHVHHHVHHVHHHVHH 格式(m,n,output_as_list_of_0s_and_1s): (1, 1, []) (1, 2, [0]) (2, 1, [1]) (1, …

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

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.