Questions tagged «grid»

对于涉及网格的挑战。

3
三边位置
介绍 假设您在二维笛卡尔平面上,并且想确定您在该平面上的位置。您知道飞机上的3个点以及与每个点的距离。虽然总是可以从中计算出您的位置,但是在您的头脑中做到这一点非常困难。因此,您决定为此编写一个程序。 挑战 给定3点和您到它们的距离,输出您位置的坐标。 输入和输出可以采用任何方便的格式,包括使用复数而不是实数。请在您的答案中说明使用的格式。 您将始终获得3个与您之间的距离完全不同的点。 坐标和距离将是具有任意精度的浮点数。您的输出必须正确到小数点后三位。取整由您决定。请在您的答案中阐明。 您可能会认为这三个点不是共线的,所以总会有一个唯一的解决方案。 您无权强加解决方案。 您可能不会使用任何琐碎此特定问题的内置函数。不过,允许使用矢量规范等的内置函数。 上手提示: 考虑围绕这三个点的每个圆,以它们到您的距离为半径。 规则 允许功能或完整程序。 输入/输出的默认规则。 有标准漏洞。 这是代码高尔夫球,因此最低字节数获胜。Tiebreaker是较早提交的内容。 测试用例 这里一个点的输入格式是[[x,y],d]和x,y分别是坐标和d到该点的距离。这些点中的3点排列在一个列表中。输出将是x然后y在列表中。 [[[1,2],1.414],[[1,1],2.236],[[2,2],1.0]]-> [2,3] [[[24.234,-13.902],31.46],[[12.3242,234.12],229.953],[[23.983,0.321],25.572]]-> [-1.234,4.567] [[[973.23,-123.221],1398.016],[[-12.123,-98.001],990.537],[[-176.92,0],912.087]]-> [12.345,892.234] 您可以使用此Pyth程序生成其他测试用例。位置在输入的第一行,三个点在随后的三行。 编码愉快!

1
帮助Jason格式化他的JSON
杰森(Jason)有一个很大的JSON,但它不可读,因此需要美化它。 格式化规格 JSON有4种不同的类型: 数字;只是0-9 弦; 用双引号引起来的"字符串\ 数组;以分隔[],项目以分隔,,项目可以是以下任何类型 对象;以分隔{},格式是key: valuekey是字符串,value是这些类型中的任何一种 间距 数组之间的逗号之间应仅留一个空格 对象应该在键和值之间只有一个空格, : 缩进 每个嵌套级别比上一个缩进2个级别 每个对象键/值对始终在自己的行上。对象缩进 如果数组包含另一个数组或对象,则该数组将缩进多行。否则,数组将保持一行 规则 内置插件,其轻视这个任务都不会允许的。 一如既往,不允许出现标准漏洞 例子 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, { "d": [2, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

1
查找栅栏
背景 原子弹在栅栏工厂附近爆炸了!由于栅栏对于我们的文明生存至关重要,因此我们必须营救尽可能多的人。我们正在派出抗辐射的机器人搜索该区域,对它们的人工视觉进行编程是您的任务。 输入值 输入的字符是一个矩形网格|-#,代表两种栅栏部分和瓦砾,以换行符分隔的字符串形式给出。爆炸造成的伤势严重,有些甚至被高温融化了。我们将候选栅栏定义为开始于此并且结束于它们之间|并且具有一个或多个-s 的水平模式(例如|-|或|---|不是||),或者是开始于并且结束于其之间-具有一个或多个|s 的垂直模式。水平候选栅栏旋转90度)。一个实际的栅栏柱是候选栅栏柱不与另一位候选人栅栏柱共享任何部件。 输出量 您的输出是输入网格中实际栅栏的数量。 例 考虑输入网格 |#|-|#|## #||--|||# ###|#|--# ###-||--| -#-|#-|#- #---#-#-| #-#-|#--| 此网格中有5个候选栅栏,但其中只有2个是实际栅栏(以粗体显示)。因此正确的输出是2。 规则 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 其他测试用例 输入: ##-- ||## -#|- |#|# 输出:0(0个候选栅栏) 输入: -##|-##-- #|#-|#||- --|-#|#|| ##||||-## ||#|--|-| -#|-#--|# |####|#-# 输出:0(5个候选栅栏) 输入: #|--|---|-|# ####|##--||- -|-##||#|--- -#|#-|-#-||| #|-##--###|- ---#-||-#-## #|---|###|-# -|---#-#|#|# |#--|####-|- 输出:4(8条候选栅栏) 输入: -|-||---##|# ---|######-# …

2
寻找保利尼莫!
不好了!Nemo,我们的小小丑鱼在这个ASCII海洋中迷路了,他的父亲Marlin试图找到他。 您的任务是让Marlin安全地到达Nemo。但是要当心,我们在宽松的状态下有疯狂的布鲁斯,所以最好不惜一切代价避免他! 细节 您将获得一个仅包含小写字母的矩形ASCII海洋网格a-z。该海洋将具有nemo,marlin并bruce以连续多米诺的形式存在于其内部,始终从多米诺第一列的最顶部单元开始。因此,例如,在所有可能的Tetromino中,有效片段在下面的代码段中列出 显示代码段 nemo n e m o no em ne om nem o o nem n e mo o m ne ne m o n emo ne mo n em o mo ne 运行代码段隐藏结果展开摘要 但是这样的形式是无效的,并且不会出现在输入中: omen ne mo nem o o m en nem o n eo …

1
构造正交对角希腊拉丁广场
考虑一个由Nx个N唯一元素组成的网格。每个元素都有一个字母(从A到第Nth个字母,包括端点)和一个数字(从1到N,包括端点)。因此,每个数字/字母对恰好在网格中一次。 您的工作是安排一个网格,以便: 每行,每列和对角线(包括换行)仅包含每个字母和数字一次。 通过包装,我的意思是 * * * # * * * # * * * # * * * # * * * * * * * * # 是对角线,以及碰到边缘的所有类似对角线。 一个示例5x5网格是: A1 B2 C3 D4 E5 C4 D5 E1 A2 B3 E2 A3 B4 C5 D1 B5 C1 D2 E3 …

2
X大于3,且X和Y之间至少相差2
我试图打败一些C ++。是否可以使这种情况更短? X > 3 & X - Y > 1 (当然,除了删除空白。) 所以,X至少4,但X >= Y + 2。 X和Y是[0,5]间隔中的整数。 我试图找到一些按位公式,但失败了。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

10
确定一个网格是否包含另一个网格
挑战 创建一个函数将两个二维字符数组(如果编程语言没有字符作为数据类型,则为字符串)作为输入:a和b。如果您的语言不支持这些输入,则可以使用任何其他标准的一字节变量。 您的任务是确定b是否包含a。如果是这样,则返回true。否则,返回false。 样本测试用例 a: 123 456 789 b: 123 456 789 应该返回true。 a: code golf b: thisis code!! golf!! ohyeah 应该返回true。 a: abcd efgh ijkl b: abcdef ghijkl mnopqr 应该返回false。 a: abc def b: 1abc2 3def4 5ghi6 应该返回true a: ab cd b: #ab## ##cd# 应该返回假 最少字节获胜。

1
Tatamibari求解器
背景 Tatamibari是由Nikoli设计的逻辑难题。 Tatamibari拼图游戏在带有三种不同符号的矩形网格上播放:+,-。和|。求解器必须根据以下规则将网格划分为矩形或正方形区域: 每个分区中必须只包含一个符号。 一个+符号必须包含在一个正方形。 甲|符号必须被包含在具有比宽度更大的高度的矩形。 甲-符号必须被包含在具有比高度较大的宽度的矩形。 四个片段可能永远不会共享相同的角落。(这是日本榻榻米瓷砖通常的放置方式。) 以下是一个示例难题,并提供了解决方案: 任务 解决给定的Tatamibari难题。 输入输出 输入是一个2D网格,代表给定的Tatamibari拼图。每个单元包含四个字符之一:+,-,|,和您所选择的字符来表示一个非线索细胞。在测试用例中,使用星号*。 您可以选择任何合适的输出格式,这些输出格式可以明确表示Tatamibari拼图的任何有效解决方案。这包括但不限于:(如有疑问,请在评论中提问。) 4元组的列表,其中每个元组包括矩形的顶部索引,左侧索引,宽度和高度(或任何等效表示形式) 与输入形状相同的数字网格,其中每个数字代表一个矩形 坐标集列表,每个坐标集包括矩形中单元格的所有坐标 如果难题有多个解决方案,则可以输出任意数量(一个或多个)的有效解决方案。输入保证至少有一个解决方案。 测试用例 Puzzle: |-* *+| *-* Solution: 122 134 554 ===== Puzzle: +*** **|* *+** ***- Solution: 1122 1122 3322 3344 ====== Puzzle: |*+*+ ***** ****- ***+| +**** Solution: 12233 12233 44444 55667 …

3
RoboZZle口译员
您的任务是编写RoboZZle解释器。如果您不熟悉该游戏,请在robozzle.com上观看视频或阅读下面的说明。 机器人生活在一个正方形的红色,绿色,蓝色或黑色正方形网格中。黑色方块无法访问。其他的则可以访问,其中一些包含星号。目标是收集所有星星,而不会踩到黑色方块或从地图上掉下来。机器人占据一个正方形并面向特定方向-左,右,上或下。它遵循类似汇编的指令,分为子程序F1,F2,...,F5。一条指令是一对谓词(“无”,“如果红色”,“如果绿色”,“如果蓝色”)和一个动作(“前进”,“左转”,“右转”), “将当前方块涂成红色”,“将其涂成绿色”,“将其涂成蓝色”,“什么都不做”,“调用F1”,...,“调用F5”)。对子例程的调用使用堆栈,并且可以是递归的。就像在常规编程中一样,在子例程的最后一条指令完成之后,从调用子例程的那一点开始执行。从F1的第一条指令开始执行,一直持续到机器人访问带有星星的所有正方形,或者机器人踩到黑色正方形或在地图外部或执行了1000条指令(谓词失败且“不执行任何操作”) (不计算在内),或者没有更多要执行的指令(堆栈下溢)。 输入: a-编码地图的12x16字符矩阵(通常用您的语言表示,例如字符串数组)对地图'#'进行编码- 不可访问的(黑色)正方形,'*'带有星星的正方形,'.'其余的 c-12x16字符矩阵,描述可访问正方形的颜色- 'R'(红色),'G'(绿色)或'B'(蓝色)。无法访问的方块将由三个中的任意字母表示。 y和x-机器人的基于0的行和列; a[y][x]保证是'.' d-的方向上的机器人朝向:0 1 2 3右,下,左,上,即朝向(y,x+1),(y+1,x),(y,x-1),(y-1,x) f-单个字符串,F1 ... F5的串联实现。每个实现都是谓词操作对的序列(可能为空)(每个子例程最多10对),以终止'|'。 谓词:'_'无,'r'红色,'g'绿色,'b'蓝色 动作:'F'向前,'L'向左'R'转,向右转,'r'涂红色,'g'涂绿色,'b'涂蓝色,'1'呼叫F1,...,'5'呼叫F5,'_'不执行任何操作 您不必像上面一样命名输入,但是它们的值必须与指定的相同。 输出:(1或true)如果机器人根据规则收集了所有恒星,则为0(false)。 范例: a=["################","################","##*....*...*#.##","##.####.#####.##","##.####.#####.##","##.####*...*#.##","##.########.####","##*........*#.##","################","################","################","################"] c=["RRRRRRRRRRRRRRRR","RRRRRRRRRRRRRRRR","RRRBBBBRGGGGRRRR","RRBRRRRGRRRRRRRR","RRBRRRRGRRRRRRRR","RRBRRRRRGGGBRRRR","RRBRRRRRRRRGRRRR","RRRBBBBGGGGBRBRR","RRRRRRRRRRRRRRRR","RRRRRRRRRRRRRRRR","RRRRRRRRRRRRRRRR","RRRRRRRRRRRRRRRR"] y=2; x=6; d=2 // and then depending on "f": f="_FrLg2_1|_FbLrR_2||||" // result:1 f="_FrRg2_1|_FbLrR_2||||" // result:0 (stepped on a black square) f="_FrLrL_1|_FbLrR_2||||" // result:0 (1000-step limit …

2
网格中最大的正方形[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 挑战 给定这样的网格 1 2 3 4 5 6 7 8 1 . . . . . . . . 2 . # . . . # . . 3 . . . . . . . . 4 . . . . …

2
在高尔夫球场上种树!
这个挑战的灵感来自这个程序。 这是此挑战的简单得多的版本。这个挑战是代码挑战,而另一个挑战是最快的代码。 您将得到一个正方形的输入网格,其尺寸为6 x 6,分为6个区域,每个区域的单元格都有一个唯一的标识符(我将在本文中使用af的小写字母,但您可以选择任意值,例如整数1-6)。 输入可能看起来像这样(可选输入格式): aabbbb aabbbb aaccbb acccdb ecccdb eeefff 或者,更容易可视化: 挑战: 您将根据以下规则在该公园中放置6棵树: 每列应有1棵树,每行应有1棵树 所有区域均应恰好有一棵树。 垂直,水平或对角线的任何树木都不能与另一棵树木相邻 上面布局的解决方案是: 注意:每个难题只有一个解决方案 附加规则: 输入和输出格式是可选的 例如,输出可能是索引列表,带有1/0的网格(指示在该位置是否有树)或输入的修改版本(其中指示了树) 执行时间必须是确定的 该程序必须在一台合理的现代笔记本电脑上在1分钟内完成 如果您不蛮力,布朗尼会指出! 测试用例: aabbbb aabbbb aaccbb acccdb ecccdb eeefff --- aAbbbb aabbbB aaCcbb acccDb Ecccdb eeeFff ---------- aabccc aacccc aaddce aeeeee aeeefe eeeeee --- aaBccc aacccC …
10 code-golf  grid  game 

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 …

12
将坐标与其值匹配
给定3个输入项,一个坐标对列表,一个2D字符串和一个单字符字符串,输出2D字符串的每个坐标处的字符是否等于单个字符。您可以按任何顺序输入,并且坐标可以为1索引。 您可以将2D字符串作为2D列表,线列表或2D字符串。 例: (0,0), "#_\n__", "#" -> True 字符串是 #_ __ 坐标处(0,0)(从左上角开始)的字符是#。这等于第三个输入项#,因此您输出True(或任何真实值) 例: [(0,0), (1,1)], "#_\n_#", "#" -> True 字符串是 #_ _# (0,0)和坐标处的字符(1,1)均为#,因此输出为true。 仅当每个坐标都匹配哈希时,输出才为true。但是,并非每个哈希都必须具有匹配的坐标。如果#在2D字符串中没有出现单个字符(在某些测试用例中),则输出仍然是虚假的。 您可以假设坐标将始终在2D字符串的范围内。 更多测试用例:(为了便于阅读,我将单个字符放在第二位) [(0,0), (2,1), (3,0)], # #_## #_## True [(0,0), (1,1), (3,0)], # #_## #_## False (1,1 is not a hash) [(1,1)], a #a## #a## True …

4
带有弹跳线的XY框,在Z处有一个标记
长期潜伏在这里的第一次海报。 编写一个包含3个输入的程序:X,Y和Z。 X =跨(列) Y =下降(行) Z =位置标记 然后,程序应在X上和Y上向下打印可视网格。该网格可以由“ +”以外的任何字符组成。每个“位置”都有一个索引号,从坐标1处的1开始,从1开始计数,然后一直向下直到结束。 X和Y始终至少为3,Z永远不会大于X * Y。 Z将代表该位置,并在该位置以及左,右,上和下1个字符上打印为“ +”。例如: + +++ + 最后,如果+字符将截取边缘(最上,最左,最右和/或最下边缘),则+应当沿同一轴弹回并从另一侧溢出。 示例:输入= 5、5、13 ----- --+-- -+++- --+-- ----- 输入= 10、10、10 -------+++ ---------+ ---------+ ---------- ---------- ---------- ---------- ---------- ---------- ---------- 输入= 10、10、21 ---------- +--------- +++------- +--------- ---------- ---------- ---------- ---------- ---------- ---------- …

7
构造雅可比矩阵
取未知向量,并应用一些通用的微分函数。的雅可比然后通过矩阵给出,使得: 例如,假设m=3和n=2。然后(使用基于0的索引) 雅可比f然后 这个挑战的目标是打印这个雅可比矩阵。 输入值 你的程序/功能应该采取作为输入两个正整数m和n,其代表的部件的数目f和u分别。输入可以来自任何所需的来源(stdio,功能参数等)。您可以指定接收顺序,对于输入的答案必须一致(请在答案中指定)。 输出量 代表雅可比矩阵的东西。此表示形式必须明确拼出Jacobian矩阵的所有元素,但是每个术语的确切形式都是实现定义的,只要明确区分什么以及关于什么进行区分,并且每个条目均以逻辑顺序输出。用于表示矩阵的示例可接受形式: 列表列表,其中外部列表​​的每个条目都对应于雅可比行的一行,内部列表的每个条目都对应于雅可比行的列。 字符串或文本输出,其中每行是Jacobian行,每行中由定界符分隔的条目对应于jacobian的列。 矩阵的一些图形/视觉表示。示例:使用MatrixForm命令时Mathematica显示的内容 其他每个条目都已存储在内存中并且可以查询的密集矩阵对象(即,您不能使用生成器对象)。例如,Mathematica如何在内部表示Matrix对象 条目格式示例: 形式为的字符串d f_i/d u_j,其中i和j是整数。例如:d f_1/d u_2。请注意,d和f_1或之间的这些空格x_2是可选的。此外,下划线也是可选的。 形式为d f_i(u_1,...,u_n)/d u_j或的字符串d f_i(u)/d u_j。也就是说,功能组件的输入参数f_i是可选的,并且可以明确地拼写出来或以紧凑形式保留。 格式化的图形输出。例如:计算表达式时Mathematica会打印什么D[f_1[u_,u_2,...,u_n],u_1] 您可以选择起始索引u和目标索引f(请在答案中指定)。输出可以是任何所需的接收器(stdio,返回值,输出参数等)。 测试用例 以下测试用例使用约定m,n。索引显示为从0开始。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

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.