Questions tagged «grid»

对于涉及网格的挑战。

5
重力模拟器
声明 您会得到一系列落入2D网格的球的静止图像。这个网格被不可变和坚不可摧的墙壁包围着,因此所有动作都包含在其中。您的任务是确定重力完成所有工作后场景的状态是什么。 网格内的元素 - 落地,不会改变落球的方向。 \ 向右滑动,可将球向右(一)的位置更改。 / 左滑动,改变球向左一(1)位置的路径。 o 一个球。 规则 球掉了。 地板和滑梯都不会掉落。 如果球撞击滑梯,使其滑过墙壁(\#或#/),或穿过地板,则滑梯将充当地板。 当一个球击中另一个球时,它将变成一个球,但将其力量增加到两个球的总和。 新球(已加入)将继续照常运行。 当球不再移动时,将其替换为力量。 球的力量永远不会超过9。 输入项 网格将以字符串变量的形式给出,其名称以您选择的语言中最短的名称为准。默认情况下,我们将使用它a作为输入。输入样本,与收到的完全一样: ##########\n# \ #\n#o #\n# - -\o #\n#/- \ #\n# \oo-/\#\n#-/ \ /#\n# \ \ #\n# /#\n########## 对于生成的随机网格,请使用https://repl.it/B1j3/2。请改用我生成的页面(没有广告,没有废话,只有输入和输出) 注意换行符为\n。将输入打印到屏幕上(挑战不是必需的)将显示如下内容。尽管我在安全空间旁边放置了四个难题。 ########## ########## ########## ########## # \ # # o -/# # …

10
验证扫雷板
您的目标是检查完整的扫雷板是否有效。这意味着每个数字都是与其相邻单元格(包括对角线)中地雷的正确计数。董事会不环绕。 与往常一样,您应该提供一个函数或程序,以字节为单位的最短代码将获胜。 另请参阅生成,解决和全面实施 Minesweeper的过去挑战。 输入: 像这样的单个字符串:02X2 13X2 X211。 扫雷器板的行以空格分隔。因此,以上代表3x4板: 02X2 13X2 X211 每个小区是一个字符:X用于矿场,或一个数字0通8。 所有行具有相同的长度。 至少有3行和3列。 输入的内容不能以空格开头或结尾,但是如果需要,可以在结尾添加换行符。 输出: 一致的Truthy上正确板和一致的Falsey不正确的板值。一致意味着所有Truthy输出相同,而所有Falsey输出相同。 测试用例 每行是一个单独的测试用例。 True: 02X2 13X2 X211 XXXX XXXX XXXX XXXX XX4X2 5X6X4 XX6XX 4XX54 2X4XX False: 02X2 13X2 X212 XXXX XXXX X7XX XXXX XX5X2 5X6X4 XX6XX 4XX54 2X5XX

6
基于网格的数字逻辑(Duodyadic Tiles)
Duodyadic磁贴是正方形功能块的一种,具有两个输入,一个从顶部输入,一个从左侧输入,并具有两个输出,一个在右侧,一个在底部。它们的每个输出都是其两个输入的单独功能。 例如,如果#表示一个通用的瓦片,右输出R是函数f的输入T和L,底部输出B是另一个函数g的T和L: T L#R R = f(T, L) B B = g(T, L) (由于有两个函数,所以这些图块被称为“ duo”,而由于两个函数都有两个参数,它们被称为“ dyadic” 。) 然后,可以在网格上将图块组合在一起,一个图块的输出直接进入与其相邻的图块的输入。例如,在这里,左侧的右侧输出#进入右侧的左侧输入#: AB D = f(f(A, C), B) C##D E = g(A, C) EF F = g(f(A, C), B) 您可以想象,如果给定一组Duodyadic磁贴,每个磁贴都具有特定的功能,则可以制作复杂(且可能有用)的合成。 在这个挑战中,我们将只关注传统的十组基于逻辑的双性平铺,其中所有输入和输出都是单位二进制数(零或一)。我们将使用单独的ASCII字符来表示每种类型的图块。 是瓷砖字符和它们的输入-输出关系,如下所示: (T为顶部输入,L为左输入,R用于右输出,B为底部输出。) 零:0或(空格)→ R = 0,B = 0 一:1→ R = 1,B = …

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

5
炸弹的连锁反应
介绍: 在执行任务之前,这是地图上每个元素的作用: 平原(X):此操作无效。 被破坏的土地(-):与平原相同,但被炸弹破坏。 活动炸弹(!):在地图上,这会摧毁3x3正方形中的所有物体: XXXXX XXXXX XXXXX X---X XX!XX > will become > X---X XXXXX X---X XXXXX XXXXX 被动炸弹(@):无作用,直到被另一枚炸弹引爆为止。这也具有3x3正方形爆炸半径: XXXXX XXXXX XXXXX XXXXX XX@XX > will become > XX@XX (nothing happened) XXXXX XXXXX XXXXX XXXXX 但: XXXXX XXXXX XXXXX X---X XX@XX > will become > ----X (both bombs have …

6
井字游戏,只有十字架
介绍 每个人都知道游戏井字游戏,但是在这个挑战中,我们将介绍一些小技巧。我们将只使用十字架。第一个连续放置三个十字架的人输了。一个有趣的事实是,有人输掉前的最大十字架数等于6: X X - X - X - X X 这意味着对于3 x 3的面板,最大数量为6。因此对于N = 3,我们需要输出6。 另一个示例,对于N = 4或4 x 4板: X X - X X X - X - - - - X X - X 这是一个最佳解决方案,您可以看到最大的十字架数量等于9。12 x 12板的最佳解决方案是: X - X - X - X X - X …

4
反转扫雷板
扫雷(Minesweeper)是一种流行的计算机游戏,您可能已经浪费了时间在游戏中,尝试根据每个非地雷单元具有多少个相邻地雷的提示来显示矩形网格中的地雷单元。如果您还没有玩过,请在这里进行。 关于扫雷网格(又称木板)的一个漂亮的数学事实是: 一个董事会及其补编具有相同的地雷总数。(证明) 这就是说,如果您拥有一个完全显示的扫雷网格,则该网格上所有数字的总和,即“ 地雷总数”,将等于该网格补码的地雷总数,即每个地雷都已被替换的网格一个非地雷,每个非地雷都被一个地雷取代。 例如,对于扫雷网格 **1.. 34321 *2**1 矿山总数为1 + 3 + 4 + 3 + 2 +1 + 2 +1 = 17。 网格的补充是 24*** ***** 3*44* 总共有我的2 + 4 + 3 + 4 + 4 = 17。 编写一个程序,以文本形式获取任意的扫雷网格,该网格*表示一个地雷,并1通过8表示与非地雷单元相邻的地雷数。您可以选择使用.或0或 (空格)来表示没有地雷邻居的像元。您可以假设输入网格将被正确标记,即每个非地雷单元将准确地表示正交或对角线紧邻其的地雷总数。 你的程序需要打印电网的补相同的格式(使用相同的.,0或 如您在输入拼音)。 以字节为单位的最短代码获胜。 除了编写程序,您还可以编写一个函数,该函数将输入网格作为字符串并打印或返回补码网格。 输入或输出中的尾随换行符很好,但除了构成网格的字符外,不应有其他字符。 您可以假设1×1的网格将是最小的输入。 测试用例 由于补数的补数是原始网格,因此可以交换所有输入和输出。网格也可以旋转以用于进一步的测试案例。 输入: …

19
敌对因子数
一些正整数的除数确实很讨厌彼此,并且他们不喜欢共享一个或多个公共数字。 这些整数称为敌对数数(HDN) 例子 Number 9566有4除数:(1, 2, 4783 and 9566 如您所见,其中没有两个共享相同的数字)。 因此,9566是一个ħ ostile d ivisor Ñ棕土 号码9567是不是HDN,因为它的除数(1, 3, 9, 1063, 3189, 9567)具有一些共同的数字。 这是前几个HDN 1,2,3,4,5,6,7,8,9,23,27,29,37,43,47,49,53,59,67,73,79,83,86,87,89,97,223,227,229,233,239,257,263,267,269,277,283,293,307,337... 任务 上面的列表继续,您的任务是找到第n个 HDN 输入值 n从1到的正整数4000 输出量 该nth HDN 测试用例 这是一些1索引测试用例。 请说明您在答案中使用的索引系统,以避免造成混淆。 input -> output 1 1 10 23 101 853 1012 26053 3098 66686 4000 85009 这是代码高尔夫球,因此以字节为单位的最低分数获胜。 …

30
2的幂和
挑战 给定一个整数输入x其中1 <= x <= 255,返回时总结给出了两种力量的结果x。 例子 给定输入: 86 您的程序应输出: 64 16 4 2 输入: 240 输出: 128 64 32 16 输入: 1 输出: 1 输入: 64 输出: 64 如果总和中没有确定的2的幂,则输出可能包含零。 例如,输入65可以输出0 64 0 0 0 0 0 1。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

5
认识藤蔓
背景 我有一堆破旧的黑白图像。其中有些描绘的是藤蔓爬在墙上,有些则没有。您的任务是为我分类。 输入输出 您的输入是矩形A的二维数组,以任何方便的格式给出。它不会为空,但不能保证同时包含0和1。如果满足以下条件,则阵列将描绘出藤蔓: A的底行至少包含1。这些是葡萄树的根。 A中的每个1 通过1s路径连接到最下面一行,该路径仅向左,向右和向下(不向上,也不对角线)移动。这些路径是葡萄树的分支。 如果输入描述的是藤本植物,则输出为一致的真实值,否则为一致的虚假值。 例子 这个数组描绘了一个藤蔓: 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 此输入未描述藤本植物,因为在右边框的中间有一个1,它没有通过分支连接到根部: 0 0 0 …

20
法鲁洗牌数组
阿法鲁洗牌是经常使用的魔术到“洗牌”甲板的技术。要执行Faro随机播放,您首先将卡座切成相等的两半,然后将这两个半插入。例如 [1 2 3 4 5 6 7 8] 法鲁洗牌是 [1 5 2 6 3 7 4 8] 可以重复多次。有趣的是,如果重复此次数足够多,您将总是回到原始数组。例如: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 7 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

14
用火杀死它
免责声明:这个问题中讲的故事完全是虚构的,仅出于介绍目的而发明。 我是一个邪恶的农民,为了提高我所在地区的小麦价格,我决定烧掉我周围所有农民的田地。我真的很想看到田野起火(这样我就可以用邪恶的笑容和欢乐地揉搓我的手),但是我也不想被观察到,所以我需要您模拟田野为我焚化。 你的任务: 编写一个程序或函数,将某个字段作为输入,并返回其燃烧的阶段,直到整个字段变成灰烬为止。着火的特定区域用代表火焰强度的整数表示。火从“ 1”开始,然后继续前进到“ 2”,然后是“ 3”,依此类推。一旦大火达到“ 4”,它将着火的任何直接(非对角线)相邻区域都着火。一旦达到“ 8”,它将在下一次迭代中耗尽,并变成灰烬,以“ A”表示。当尚未被火触及的区域时,以“ 0”表示。例如,如果该字段如下所示: 100 000 您的程序应输出以下内容: 100 000 200 000 300 000 410 100 520 200 630 300 741 410 852 520 A63 630 A74 741 A85 852 AA6 A63 AA7 A74 AA8 A85 AAA AA6 AAA AA7 AAA AA8 AAA AAA …

8
脆弱的奎因
脆弱的奎因 脆弱的quine是满足通过删除单个字符来组成每个子字符串的属性的quine,在评估时会产生错误。 例如。如果您的程序asdf是木盒,那么它就很脆弱,以下程序必须出错: sdf adf asf asd 您的程序(及其所有子字符串)必须是完全确定性的,并且必须使用相同的语言。就此挑战而言,即使最终未产生错误,陷入无限循环(即无法终止)的程序也被视为“产生错误”。 存在标准漏洞,包括通常的quine限制(例如,无法读取自己的源代码)。 例如,print("foo")不是脆弱的。所有这些子字符串必须出错: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" 不会出错的是: print("oo") print("fo") print("fo") 因此它并不脆弱。 关于藜的重要说明 通过协商一致,任何可能的奎纳必须满足以下条件: 必须有可能识别程序的一部分,该部分对程序的不同部分进行编码。(“不同”表示两个部分出现在不同的位置。) 此外,木盒不得直接或间接访问其自身的源。 例 由于我认为JavaScript的function#toString是“正在读取其自身的源代码”,因此我不允许这样做。但是,如果我不想禁止它,那么这是JavaScript中的一个脆弱的方法: f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q 测试仪 这是一个程序,在给定程序源代码的情况下,它会生成所有必须出错的程序。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

5
整数,集合!
您的任务是将从1到的整数N(作为输入)组装成一个具有宽度W和高度的矩形H(也作为输入提供)。单个数字可以旋转90度的任意倍数,但是它们必须在矩形中显示为连续的块。也就是说,您不能将其中一个数字分解为多个数字并将这些数字分别放置在矩形中,也不能将数字的三个数字弯曲到一个角上。您可以考虑每个数字都是用来建造墙的砖头。 这是一个例子。说您的输入是(N, W, H) = (12, 5, 3)。一种可能的解决方案是: 18627 21901 53114 为了清楚起见,这里有此网格的两个副本,一个副本隐藏了一位数字,而另一个副本隐藏了两位数字: 1#### #8627 2##01 #19## ##11# 53##4 如果矩形不能以独特的方式再次拆卸,那就很好。例如,在上面的示例中,12也可以这样放置: ##### 18627 21#01 ##9## ##11# 53##4 规则 您可以假定它N是正W*H数,并且与整数从1到N包含在内的位数匹配,并且存在将矩形平铺到给定数字中的情况。我目前尚无证据证明这是否总是可能的,但是如果您愿意,我会对此感兴趣。 输出可以是单个换行符分隔的字符串,也可以是字符串列表(每行一个),也可以是一位整数列表的列表(每个单元格一个)。 提交的结果必须是确定的,并且您应该能够在合理的台式机上在一分钟之内处理所有测试用例。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 除了第一个,这些都不是唯一的。每个测试用例N W H后面都有一个可能的输出。当矩形太窄而无法水平书写较大的数字时,请确保您的答案有效。 1 1 1 1 6 6 1 536142 6 2 3 16 25 34 …

9
唯一分开的像素
对于N x N的图像,请找到一组像素,以使不存在超过一次的分隔距离。也就是说,如果两个像素被隔开一定距离d,则它们是由恰好分离的仅两个像素ð(使用欧几里德距离)。注意,d不必是整数。 面临的挑战是要找到比其他任何人都更大的此类集合。 规格 无需输入-对于该竞赛,N固定为619。 (由于人们一直在问-数字619并没有什么特别之处。选择它的大小足够大,不可能提供最佳解决方案,而它又足够小,可以显示N by N图像,而Stack Exchange不会自动缩小该图像。显示的最大尺寸为630 x 630,因此我决定使用最大的质数,但不要超过该值。) 输出是用空格分隔的整数列表。 输出中的每个整数代表一个像素,以英语阅读顺序从0开始编号。例如,对于N = 3,位置将按以下顺序编号: 0 1 2 3 4 5 6 7 8 您可以根据需要在跑步过程中输出进度信息,只要可以轻松获得最终得分结果即可。您可以输出到STDOUT或文件,也可以输出到最容易粘贴到下面的堆栈代码判断中的任何内容。 例 N = 3 选择的坐标: (0,0) (1,0) (2,1) 输出: 0 1 5 获奖 分数是输出中位置的数量。在那些得分最高的有效答案中,最早的发布该得分的答案将获胜。 您的代码不必是确定性的。您可以发布最佳输出。 相关研究领域 (感谢Abulafia的Golomb链接) 尽管这两个问题都不相同,但是它们在概念上都相似,并且可能为您提供解决方法的思路: 哥伦布尺:一维情况。 Golomb矩形:Golomb直尺的二维扩展。对所有N求解NxN(平方)情况的一种变体,称为Costas阵列。 请注意,此问题所需的点不受与Golomb矩形相同的要求。通过要求从每个点到另一个的向量是唯一的,Golomb矩形从1维情况开始延伸。这意味着可以有两个点在水平方向上隔开2个距离,也可以在两个点之间垂直隔开2个距离。 对于此问题,标量距离必须唯一,因此水平间距和垂直间距都不能为2。此问题的每个解决方案都是一个Golomb矩形,但并非每个Golomb矩形都是一个有效的解这个问题。 上限 丹尼斯在聊天中很有帮助地指出 …

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.