Questions tagged «grid»

对于涉及网格的挑战。

5
地形可达性
基于回合制的战术游戏,例如“战前战争”,“战地风云”和“火焰纹章”,是由不同地形的方格组成,具有不同运动类别的单位,每种地形类型需要不同的成本。我们将调查该问题的一部分。 挑战 您的任务是在给定地形成本和移动速度的网格的情况下,确定一个位置是否可以与另一个位置到达。 单位只能正交移动,其中移动到一个正方形上的成本是网格上相应单元格的值(移动是免费的)。例如,从一个值为3的单元格移动到一个值为1的单元格需要1次移动,而从另一个方向移动则需要3个运动。某些正方形可能无法访问。 例 1 [1] 1 1 1 1 2 2 3 1 2 3 3 3 4 1 3 <1> 3 4 从[1]移到<1>至少需要7个移动点,方法是向右移动一个方块,然后向下移动三个方块。因此,如果给定6或小于6的移动速度,则应输出虚假答案。 示例测试用例 这些将使用左上角零索引(行,列)坐标,而不是用括号括起来的单元格作为开始和结束位置,以使解析更加容易。无法访问的单元格将用X 案例1a 1 1 2 1 X 1 2 2 1 1 2 1 1 2 1 X X X 1 2 Speed: …

6
带我离开这里
挑战 在给定网格大小,障碍物位置,玩家位置和目标位置的情况下,您的任务是为玩家找到一条到达目标并同时避开障碍物的路径(如有必要)。 输入值 N:网格大小N x N P:球员位置[playerposx, playerposy] T:目标位置[targetposx, targetposy] O:障碍物位置[[x1, y1], [x2, y2],...,[xn, yn]] 输出量 路径:玩家可以用来达到目标​​的路径[[x1, y1], [x2, y2],...,[xn, yn]] 规则 该点[0,0]位于网格的左上角。 玩家的位置将始终位于网格的左侧。 目标的位置将始终在网格的右侧。 网格将始终至少具有一个障碍。 您可以假设没有障碍重叠在玩家或目标位置上。 您不一定需要找到最小路径。 玩家只能左右移动,不能左右移动。 您可以通过任何方便的方式进行输入。 您可以假设玩家始终可以到达目标的路径。 显然,对于每个输入,存在多个有效路径,请选择一个。 假设N > 2网格至少为3 x 3。 例子 输入:9,[6, 0],[3, 8],[[0, 5], [2, 2], [6, 4], [8, 2], [8, 7]] …

6
找出有理生成函数的系数
如果我们写一个数字序列作为幂级数的系数,则该幂级数称为该序列的(普通)生成函数(或Gf)。也就是说,如果对于某些函数F(x)和整数系列,a(n)我们有: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 然后F(x)是的生成函数a。例如,几何级数告诉我们: 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) 因此,的生成函数1, 1, 1, ...为1/(1-x)。如果我们对上面方程的两边求和并乘以x得到以下等式: x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 因此,的生成函数1, 2, 3, ...为x/(1-x)^2。生成函数是一个非常强大的工具,您可以使用它们来做很多有用的事情。在这里可以找到简短的介绍,但是要获得真正彻底的解释,请参见惊人的图书生成功能学。 在此挑战中,您将有理函数(两个具有整数系数的多项式的商)作为两个整数系数数组的输入作为输入,首先是分子,然后是分母。例如,功能f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  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 

3
这是我的咬人吗?
昨天,我把三明治放在桌子上了。今天我起床的时候,里面有一口……是我的吗?我不记得了 问题: 代表三明治和我的咬咬图案,并告诉我是否咬咬。 例子: 范例1: 我的咬模式: .. . 三明治: ##### .#### ..### 输出: truthy 范例2: 我的咬模式: .. .. 三明治: ...## ..### .#### 输出: falsy 范例3: 如果至少有1个旋转视为真实,则输出为真实。 我的咬模式: . . . 三明治: ##. #.# .## 输出: 两次可能的旋转(在东北或西南角咬)。 truthy 一些有效的叮咬: .. . ... . . . . . .. . . .. …

5
可能第四次与流感有关
由于明天是5月4日,因此这里有一个以“星球大战”为主题的小贴士,可以让您从心理上做好应对明天来临的所有恶作剧的准备。 故事背景 在银河参议院会议期间,所有参议员都坐在n*n网格中。JarJar流感的突然爆发(持续不断,并导致被感染者像JarJar Binks一样说话)导致某些参议员受到感染。 这是一个带有6*6网格的示例,其中X感染了参议员,对应的列表是[[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[0,5]]:: 之后,感染开始逐步传播。如果两个参议员共享网格上的整个边缘(即,上,下,右,左),则它们是相邻的,这意味着我们不包括对角线。 我们可以得出结论,一个参议员可以与2,3或4个其他参议员相邻,并声明以下感染规则: 被感染的参议员永远保持感染 如果某位参议员在上一步中与2位或更多位受感染的参议员相邻,则该步骤将被感染。 这是先前网格的示例,显示了感染的两个第一步: 在接下来的步骤之后,所有参议院将被感染 你的任务 您的代码不需要处理无效输入,例如列表大于n*n或坐标不是唯一的。 您的代码将输入一对整数(或二进制网格或任何其他适合您的语言的格式)和一个整数n(如果您使用除列表以外的其他格式,则不必要)的列表,例如: 8 [[1,2],[1,1],[7,4],[2,7],[4,3]] n是网格的侧面,这意味着该网格将是一个* n网格,而整数对列表是最初感染的参议员的细胞的坐标。 网格的左下角是[0,0],右上角是[n-1,n-1]。左上角是[0,n-1]。 您的代码必须输出一个整数: -1 或伪造的值或错误(如果整个网格永远不会被完全感染)或感染整个网格所需的最少步骤 测试用例 6 [[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[5,0]] => 7 4 [[1,1][0,3][1,0][3,0][3,3]] => 9 请记住,这是代码高尔夫,因此以字节为单位的最短答案为胜!
12 code-golf  grid 

3
网格可以弯曲。你多久了?
考虑在W宽x H高的文本网格上绘制一条简单的,开放的二维曲线,其中X该曲线.表示曲线的一部分,表示空白,不使用其他任何字符。 每个网格空间都有8个相邻的网格空间,即Moore邻域。边界之外的网格空间被认为是空的。 网格包含曲线,如果有且只有一个X OR,如果有一个以上的X地方: 正好2个X只有一个相邻X。这些是曲线的端点。 X除端点外,每个端点都恰好相邻2 Xs。这些构成了曲线的主体。 例如,此W = 9而H = 4的网格包含一条曲线: ....X.... .X.X.X.X. X..X..X.X .XX.....X 同样,这些网格(W = 4,H = 3)具有曲线: .... .X.. .... .... .X.X .... X..X ..X. XX.. X.X. ..X. .XX. .X.. .... .... 但是,这些网格不包含曲线: .... .XX. ...X XX.. .... X.X. .... X..X ..XX XX.. .X.X .X.. …

1
分组这些单元格!
该挑战基于游戏Layerz。 给定,在stdin上或作为函数参数,单元格的2D矩形数组,其中每个单元格包含一个空格(可以选择使用0代替空格,而不会受到任何惩罚),1、2、3或4 ; 找到一种方法将其划分为有效区域(如下所述),以使每个非空白单元格仅包含一个区域。然后,以任何合理的格式输出找到的解决方案。如果没有解决方案,则要么停止而不产生输出,要么输出一个假值,然后停止。 以下任何内容均构成有效区域: 包含1的单个单元格 包含2个且恰好是其非空白正交邻居之一的像元 包含3个和正好两个非空白正交邻居的像元 包含4个且恰好是其三个非空白正交邻居的像元 这是code-golf,因此以字节为单位的最短有效答案为准。 一些测试用例: 1.一个相当琐碎的: 这是解决方案,每个区域使用不同的颜色: 2.一个更有趣的 这是一个以上的解决方案,但这是其中之一: 3.较小的一个,包含空格,没有任何解决方案(取决于您是使用二进制之一来“捕获”这三个,还是使用三个来获取两者中的两个,要么留下一个一对不相邻的(因此不可分组的)对或单独一个对): 由于此网格没有解决方案,因此在指定该网格的情况下,您的程序应暂停而不产生任何输出。 4.这个(顶部2个向左移动一个单元格)确实有一个解决方案: 解: (右下角的2用于“捕获” 3) 5.因为我们需要一个包含四个方面的测试用例: 一种解决方案:

1
有多少个正方形?
这种挑战是由经常漫游在Facebook上一样,看起来画面灵感此。除了我们的基本广场看起来像这样: ┌─┬───┬─┐ ├─┼─┬─┼─┤ ├─┼─┴─┼─┤ ├─┼─┬─┼─┤ └─┴─┴─┴─┘ 该正方形由n x m1x1正方形组成,您必须计算该正方形内可以容纳多少个子正方形(1x1、2x2、3x3、4x4、5x5等)。正方形可能会丢失一些网格线(例如上例),也可能像下面的例子中那样完整。这意味着数学分析是没有可能(据我所知)。 输入: n建立正方形的输入的线数(); 由以下字符组成的正方形:─ ┐ ┌ └ ┴ ┘ ┬ ├ ┤ ┼ |跨n输入行。 输出: 可以容纳在输入正方形内的任何大小的正方形数量(我们在这里只需要一个数字,而每个大小都不需要一个数字)。 获奖标准: 最小的答案(字节数)获胜。 测试用例: 在: 5 ┌─┬─┬─┬─┐ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ └─┴─┴─┴─┘ 出: 30 在: 3 ┌─┬─┐ ├─┼─┤ └─┴─┘ 出: 5 在: 5 ┌─┬─┐ ├─┴─┤ ├───┤ ├─┬─┤ └─┴─┘ …

2
旋转安全的拉丁方格
拉丁方是在X或Y列中没有重复符号的正方形。例如: ABCD DABC CDAB BCDA 是一个这样的广场。请注意,每一列和每一行如何包含相同的4个字母的排列。 但是,我们的拉丁方有一个问题: 如果我将第二行(DABC)1向左旋转,我将得到ABCD,这与上面的排列相同。 如果不可能旋转任何一列/行并获得另一列/行,那么我们认为正方形是旋转安全的。 例如: ABCD BDAC CADB DCBA 是旋转安全的。网格具有以下属性: 点[0,N]使用第N个符号 点[0,N]和[N,0]始终是相同的符号。(我也想说[x,y]和[y,x]也总是相同的字母,但我无法证明它) 您的任务是在传递N时打印出1个旋转安全的拉丁方格。 我不在乎是否输出字母,数字,列表或2D数组。 如果使用数字,则第一列和第一行必须是0,1,2,3,...(按此顺序)。如果使用字母,则必须是A,B,C,D,.... 例如,如果输入为4,则应打印: 0,1,2,3 0,1,2,3 1,3,0,2 or 1,0,3,2 2,0,3,1 2,3,1,0 3,2,1,0 3,2,0,1 没有大小小于4的旋转安全拉丁方。如果N小于4,我不在乎您的程序会做什么。出于好奇,旋转安全方数为(从4开始): 2,5,5906,(too long to calculate) 这是一个代码问题,所以请尝试使用您喜欢的语言尽可能短地回答!

2
单词搜索助手
我一直在做词搜索最近,我认为这将是如此,如果所有的单词阅读更容易从左向右。但是重写所有行都需要很大的精力!因此,我正在邀请代码高尔夫球手提供帮助。 (免责声明:以上报道可能不太准确。) 您的代码将采用一个矩形网格,并在两个方向上输出通过它的所有线。 输出必须包含网格的所有8个旋转(基数和主对角线),从上到下,从左到右“读取”。(这意味着每个“行”都将重复-一次向前,一次向后。) 行分隔可以是空格或换行符。如果选择空格,则网格旋转分隔必须是换行符;否则,网格旋转分割必须是两个换行符。 输入示例(以字符,多行字符串或其他合理格式组成的数组) ABCDE FGHIJ KLMNO PQRST 输出示例(将第一个选项用于除法) ABCDE FGHIJ KLMNO PQRST E DJ CIO BHNT AGMS FLR KQ P EJOT DINS CHMR BGLQ AFKP T OS JNR EIMQ DHLP CGK BF A TSRQP ONMLK JIHGF EDBCA P QK RLF SMGA TNHB OIC JD E PKFA QLGB …

1
小钻石方形算法
菱形正方形算法是分形地形(高度图)生成算法。您可以在此处找到不错的说明: http://www.gameprogrammer.com/fractal.html(用作参考。) http://www.playfuljs.com/realistic-terrain-in-130-lines/(很棒的JS实现,也许您可​​能想偷走他的渲染器。在这里看看这种算法可以实现http:// demos的功能。 playfuljs.com/terrain/。) 通常的想法是,您有4个角作为种子(a),并通过平均这四个角并添加一个随机值(例如,介于-0.5和0.5之间)来计算中心点的高度(b)。如果将其应用于网格,您将再次获得菱形网格(正方形斜面45°),并重复相同的(c,d),但随机范围会变小,例如-0.125至0.125等。 您的程序必须接受许多输入: 一个整数l=1,2,3,...,用于确定具有边长的正方形网格的大小2^l+1。在l=10你将不得不储存约一万个号码。 每个角有四个种子(浮点数) 0<h<1确定粗糙度的参数(H在链接中),该粗糙度表示随机范围最初的大小 a,b代表随机范围的初始下限和上限的参数,并h在每个细化步骤中相乘。(随机数在a和之间统一选择b。 输出必须包含完成的2d网格。 因此,粗略算法如下所示: Create a square grid with sidelength 2^l+1 Place seed values in the corners Repeat: | Perform square steps | Refine Range: a = a*h; b=b*h; | Perform diamond steps | Refine Range 您应该注意一个细节:在网格的边界处,您将只有菱形的三个顶点,因此,您也应该仅计算这三个点的平均值。 一些示例的可视化(请告诉我们您使用了哪些参数)是可选的,但值得赞赏,并且当然不会增加字节数。 可以在以下位置找到该算法的稍微变化的实现:并行投影体素地形生成器 我在javascript中创建了一个小的绘图函数,用于将2D高度图替换为灰度图像。http://jsfiddle.net/flawr/oy9kxpsx/ 如果任何人都喜欢3D并可以编写脚本以3D方式查看地图,请告诉我!=)
12 code-golf  random  grid 

2
数论解释器,模n
一个句子数论(我们的目的)的是下列符号序列: 0和'(后继) -后继手段+1,所以0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加法)和*(乘法) = (等于) (和)(括号) 逻辑运算符nand(a nand b是not (a and b)) forall (通用量词) v0,v1,v2等。(变量) 这是一个句子的示例: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) 这not x是简写x nand x-实际的句子会用到(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  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 

3
网格上的不明确位置
您有一个带有四个距离传感器的小机器人。它知道房间的布局,但是除了能够锁定网格方向之外,它没有方向感。您希望能够根据读数找出机器人的位置,但是由于传感器有限,它可能会模棱两可。 挑战说明 您将获得一个房间布局和四个顺时针方向的距离读数,以获取您与墙之间的单元数量。房间的中间可能有墙壁,而网格的边缘也是墙壁。机器人不能放在墙上。 您的目标是列出机器人可能在房间内的所有位置,以给出给定的读数。请记住,机器人没有方向感(除了被锁定在网格上的90度角之外,即,机器人永远不会以对角线或其他倾斜角取向),因此读取[1、2、3,例如,[4]与读取[3、4、1、2]相同。 例子 对于这些示例,单元格坐标将从左上角的单元格以0索引(x,y)对给出。读数将在方括号中的列表中按顺时针顺序给出。布局将在墙壁上使用井号,并使用其他字符(通常是点)来表示空单元格。 情况1 . . . . . . . . . . # . . . . . [1、0、2、3] ==>(1、0),(3、1) [0,0,3,3] ==>(0,0),(3,0),(0,3),(3,3) [2,1,1,0] ==>(0,2),(2,1) [1,1,2,2] ==>(1,1) 情况二 # a . # a . a # . . # a . . # . . # …
11 code-golf  grid 

17
检查矩阵是否为Toeplitz矩阵
将为您提供一个二维数组和一个数字,并要求您查找给定的矩阵是否为Toeplitz。 输入格式: 您将获得一个将two-dimensional矩阵作为参数的函数。 输出格式: 返回1从功能,如果矩阵是托普利茨,否则返回-1。 限制条件: 3 < n,m < 10,000,000 其中n,行m数是列数,而列数是列数。 样本测试案例: Sample Input : 4 5 6 7 8 9 2 4 6 7 8 9 1 4 6 7 8 0 1 4 6 7 Sample Output : 1 计分 这是代码高尔夫球,因此最短的答案以字节为单位。

13
在3x3网格中返回邻居索引
好吧,我第二次尝试打高尔夫,让我们看看这是怎么回事。 假设您有9个值的数组。现在,假设该数组位于3x3网格中。 您需要返回该数字作为数组索引的邻居。 0 | 1 | 2 3 | 4 | 5 6 | 7 | 8 规则: 这是代码高尔夫球,所以最短的答案会获胜。 假装数组的索引可以从0或1开始(尽管所有示例都使用0)。 仅返回值的值会让人皱眉(如if 3: return 046) 提交可以只是一个过程/函数/方法,但是一个例子会很好 返回的值可以是任何顺序(例如,如果输入为0,则可能为13或31) 如果需要,输出可以是数字列表,例如[0,4,6]代替046 如示例所示,对角线不计算在内。 例子: 输入: 0 输出: 13 输入: 3 输出: 046 输入: 4 输出: 1357
11 code-golf  grid 

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.