Questions tagged «grid»

对于涉及网格的挑战。

2
杂货店微管理
您是一家时尚的新杂货店Half Foods的员工,这是感恩节 圣诞节复活节的前一天。由于商店将挤满顾客争抢食物,因此商店需要交通管理人员将每个人都送到适当的生产线。懒惰,您想使它自动化,以便您可以在所有人都吃掉所有火鸡 火腿之前就去熟食店。但是,随身携带的只是手机,在手机上编写长程序确实是一件很痛苦的事-因此您需要淘汰忍者代码高尔夫技能。 挑战 让我们在二维网格上可视化杂货店。这是要剖析的示例网格: e s s s Y # # #s # #s # #s # #s # #s # #s #s #s # #3 #1 #4 # x x x x 网格以开头e,代表商店其余部分的“插座”。每一代,网格中的所有出口都在s下面直接产生一个购物者()。购物者每一代都向下移动,直到他们到达您(Y)。当购物者到达与您相同的行时,您必须将其传送到购物者最少的行的开头。购物者将与一起进入行时,立即移动到行中Y,两者之间没有生成。这些行由#s 表示-s之后的列#是一行。购物者下到行尾(由exit表示x),然后变成介于1和之间的随机数5。每一代,您都必须减少购物者的数量1-当购物者到达时0,他们已经完成结帐并离开商店。 给定这样的网格输入,输出下一代杂货店(同时将所有购物者放下,将购物者重定向,并在完成后让他们离开)。 样本 输入: e Y # # # # # # # # …
14 code-golf  string  grid 

12
所有人都说……
目标给定不包含字符[或的文本输入],请执行以下操作: 对于Amen具有至少一个大写字母的每个实例(因此,所有Amen不包含的实例amen),都输出相同的名称Amen(保留大写)。 对于/all the people said[?: ]/i(这是一个正则表达式)的每个实例,还输出Amen(任何情况都可以)。 在每个输出之后,您可以选择任何常量分隔符,例如换行符,空格或什么都不做。 这是一个代码高尔夫球,因此以字节为单位的最短程序获胜。 IO范例 Input: I said AMEN! AMEN, PEOPLE! Output: AMENAMEN ; any separator is fine, I choose none. Input: amen amen amen amen Output: ; nothing Input: ; empty Output: ; nothing Input: *blah blah blah* And all the people said? Output: …

25
棋盘上的棋子数
介绍 普通的棋盘包含8 x 8 = 64个正方形: 您可以看到总共有 12个白色小块。黑白始终具有相同数量的碎片。如果棋盘上还有其他棋子,这些棋子将相邻,这是此挑战所不允许的。为了说明问题,下面是一些示例: 应对这种挑战的最小木板为3 x 3: 您可以看到最大件数等于2。因此,当给定N = 3时,您需要输出2。如果输入为N = 4,则得到以下结果: 您可以看到最大数量也是2。因此,对于N = 4,输出应为2。对于N = 5,输出应等于5: 例子 STDIN: 3 STDOUT: 2 STDIN: 4 STDOUT: 2 STDIN: 5 STDOUT: 5 STDIN: 6 STDOUT: 6 STDIN: 8 STDOUT: 12 规则 您提交的内容必须是一个程序或函数等,它需要一个整数并输出或返回板上的棋子数 您可以放心地假设输入是非负整数> 2 这是代码高尔夫球,因此字节最少的程序将获胜! 请注意,板左下方的正方形始终是深色的。作品只能放在深色方块上 你必须整整地占据一排

3
最高周长的多米诺骨牌
这是代码高尔夫。获胜者是字节数最少的有效代码。 挑战 给定输入M和N,即正方形矩形网格的宽度和高度,输出满足以下条件的多边形: 多边形边缘仅由正方形边缘组成:没有对角线边缘-全部为垂直或水平。 多边形没有孔:从多边形外部边界上的多边形开始,可以在多边形外部的正方形上通过正交步骤到达多边形外部的每个正方形。 多边形没有自相交:在一个顶点相交的正方形边缘中,多边形周长的一部分不得超过2个。 多边形已连接:多边形中的任何正方形都必须可以通过停留在多边形内的正交步距多边形中的任何其他正方形。 多边形具有最大可能的周长:根据下面显示的公式。 您的代码必须适用于从1到255的M和N。 最大周长的公式 这里的挑战是要找到具有最大周长的那些多边形中最可打的高尔夫。最大周长本身始终由以下公式定义: 这是正确的,因为对于最大周长,每个正方形顶点必须在该周长上。对于奇数个顶点,这是不可能的,而可获得的最佳顶点数少一个顶点(因为周长始终为偶数)。 输出量 将形状输出为由换行符分隔的字符串(N行,正好是M个字符)。在这里,我为多边形外部的正方形使用空格,为多边形内部的正方形使用'#',但是您可以使用任何两个视觉上不同的字符,只要它们的含义对于所有输入都是一致的。 您最多可以包含一个前导换行符和最多一个尾随换行符。 如果愿意,您可以输出M个正好N个字符的行,对于某些输入,您可以选择M by N输出,而对于其他输入则选择N by M输出。 例子 由于孔无效: ### # # ### 由于交集(对角线触摸-顶点在外围具有4个正方形边缘)和一个孔而无效: ## # # ### 由于断开连接而无效: # # # # 最大周长的有效多边形: # # # # ### 学分 最初,我低估了可以计算出最大周长的值的速度,并只是要求将该值作为输出。感谢聊天中非常有帮助的人们,他们解释了如何计算任意N和M的最大周长,并帮助将其变成一项挑战,将持续多个答案... 特别要感谢: 斯帕尔,兹加布,费瑟姆,吉米23013。
14 code-golf  grid 

4
用斜线绘制随机游走
编写一个程序或函数,该程序或函数采用正整数N(通过stdin /命令行/函数arg)并打印或返回由N个长步长(由斜杠引出)的二维随机游走的字符串表示形式:(/ \加上空格和换行符)。 2D随机游动从无限整数晶格的原点开始。然后,重复N次,随机地均匀选择基本方向(上,下,左,右),并且助行器在该方向上移动一个单位。采取的最终路径是随机游走。 这是N = 6时的随机游走。请注意,到达(-1,3)时,它会向后移动。 为了用斜线画出它,我们实际上需要将整个对象顺时针旋转45°。斜线版本中未绘制轴以及起点和终点。 / \ \ /\ 像这样的更复杂的步行(N = 20,尽管无法分辨): 会变成这样: / /\/ /\ \/\/ /\/ \/ 您的程序需要生成这些类型的斜杠版本的随机游走。您必须随机选择步行要走的每个新方向,因此程序每次运行一定的N几乎肯定会产生不同的步行。(伪随机性很好。) 最低和最高斜杠上方或下方不得有任何空行(除了一个可选的尾随换行符),并且最左边和最右边的斜杠之前或之后绝对不应有空格的空列。 因此,对于N = 1,输出始终为/或\,但永远不会像这样: / 只要不超过最右斜杠的列,就可以使用尾随空格。 字节最少的提交将获胜。这是一个方便的字节计数器。

7
使用L形的Tromino将2 ^ N x 2 ^ N网格平铺
当初次向学生讲解数学归纳的证明技术时,一个常见的示例是将2个N ×2 N的网格与L形的Tromino砖砌在一起的问题,从而将一个预定的网格空间留空。(N是一些非负整数。) 如果您还不知道,我将交给您查看证明。有很多讨论它的资源。 您的任务是编写一个程序,该程序使用N的值以及要保留为空的网格空间的坐标,并输出所生成的Tromino平铺网格的ASCII表示形式。 角色O将填充空白区域,并且我们的Tromino旋转4次将如下所示: | +- | -+ -+ | +- | (是的,它可以是含糊其+与去-和|某些安排,但没关系。) 您的程序必须在N = 0(对于1×1网格)下工作,至少N = 8(对于256×256网格)。将给出x和y值,它们是的坐标O: x是水平轴。x = 1是左侧网格边缘,x = 2 N是右侧网格边缘。 y是垂直轴。y = 1是顶部网格边缘,y = 2 N是底部网格边缘。 x和y都始终在[1,2 N ] 范围内。 因此,对于给定的N,x和y,您的程序必须输出2 N ×2 N的网格,该网格完全用L形的三角骨平铺,但x,y网格坐标为O。 例子 如果N = 0,则x和y必须都为1。 O 如果N = 1,x = 1,y …

5
磁性雕塑
这是我先前在构造图时遇到的挑战的宽松延续。 背景 一位古怪的艺术家雇用您来估计他的雕塑的结构完整性。他通过拿起一堆立方体形状的磁铁,然后将它们一个个地扔进一大堆中来创作自己的艺术品。为了更好地分析他的方法,我们使用以下二维模型。我们从一个空的地板开始,然后将磁铁#放在任何整数坐标上,例如0: | v # =============== 0 如果将另一个磁铁放到处0,它最终会位于前一个磁铁的顶部: | v # # =============== 0 现在,让我们在放另外一个磁铁0,然后在放一个1: | #v ## # =============== 0 如上所示,一个下落的磁铁粘在它通过的第二个磁铁上(第一个只是使它减速)。第二个磁体不必直接位于第一个磁体的下方,并且两侧的磁体仍视为一个磁体: # # ##|## # v # ### # # # =============== 0 艺术家希望您计算最终雕塑中的最大垂直间隙,即,同一列上的两个磁体之间或磁体与其下方的地面之间的最大空白空间。在上图中,该数字将为3(在列上2)。 输入值 从左到右读取的整数列表,代表艺术家放下磁铁的坐标。您可以假设坐标满足-1024 <= i < 1024并且列表的长度最大为1024,如果有帮助的话。 输出量 最终雕塑中的最大垂直间隙。-1由于我们的雕刻家是达达主义者,因此空雕塑有缝隙,并且必须包括这种情况。 附加规则 您可以提供功能或完整程序。最短的字节数获胜,并且不允许出现标准漏洞。带有说明的代码是首选。 测试用例 [] -> -1 …
14 code-golf  grid 

30
从原动力中恢复原动力
定义:素数幂是自然数,可以以p n的形式表示,其中p是素数,n是自然数。 任务:给定素数p n > 1,返回素数p。 测试用例: input output 9 3 16 2 343 7 2687 2687 59049 3 计分:这是代码高尔夫球。以字节为单位的最短答案将获胜。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

11
解释松散范围
解释松散范围 ListSharp是一种解释型编程语言,具有许多功能,其中一个功能是基于1索引的范围创建器,其工作方式如下: 您可以将范围定义为(INT) TO (INT)或仅定义(INT)两个int可以从min到max int32值的范围 然后,您可以使用这些范围来提取数组的元素,而不必担心会超出其边界 因此: 1 TO 5 产生: {1,2,3,4,5} 3 产生: {3} 范围可以使用AND运算符相加 1 TO 5 AND 3 TO 6 产生: {1,2,3,4,5,3,4,5,6} 记住这也适用于负数 3 TO -3 产生: {3,2,1,0,-1,-2,-3} 挑战如下: 输入值 字符数组和先前定义的range子句作为字符串 输出量 范围中基于1索引位置的元素(不存在/负索引会转换为空字符) 如何取胜 作为代码高尔夫球挑战,您应该创建具有最少字节数的程序以获胜 有人指出不存在空字符,因此您应该忽略它们(我仅在此处显示它们是为了使它们更易于理解,但却使人感到困惑) 测试用例: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 现在,我将斐波那契乘积称为与上面相同的列表,但加法运算被乘积代替。例如,f(100) = 89 * 8 * 3 = 2136。 编写一个给定正整数n的程序或函数,该函数将返回该数字的斐波那契乘积。 测试用例: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

13
到达矩形相对角的最佳解决方案
您的工作是编写一个程序,以找到从矩形的左下角到相对的右上角所需的最佳移动次数。 您的程序将接受输入作为有序对(width, height)。这些将是您将使用的矩形的尺寸。您的程序将创建解决方案的ASCII艺术形式(.用于空正方形和#部分解决方案,X用于起始正方形),并计算到达端点所需的移动次数。不允许对角移动。如果有多种解决方案,请选择一种解决方案。 以字节为单位的最短程序获胜。 例 输入: (4, 5) 输出: ..## ..#. .##. .#.. X#.. 移动次数:7

2
这条鱼路结束了吗?
我爱> <>,​​> <>是生命!2D语言真棒!在这个挑战中,您必须在进行代码搜寻时说出一条“鱼腥”道路是否终结。 定义 一条鱼路铺有瓷砖,包括以下瓷砖: v (go down) > (go right) ^ (go up) < (go left) / (mirror) \ (mirror) 其他任何字符(除外-|+)都可以被认为是一种干扰,例如道路边界上的一些花朵(或鱼头)。 道路总是从矩形网格的左上角开始,由-|+符号分隔。如果沿着它走到一条边界上,那条路就有尽头,否则,您将被困在一条无限的道路上。 遵循v>^<和镜子给出的指示,即可在路上找到自己的路。镜子将根据您来自何处反射90°。这是它的工作方式(v>^<用来显示路线): ^ ^ >/< >\< v v </> <\> ^ ^ 如果道路终止,则可能看起来像这样: +--------------------+ |>\/ this way >\/> | this one ends here | v^ \/ | | …

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 


2
查找镜像配置以匹配激光目标
更新的评分:由于这项挑战比我预期的要困难,因此我调整了评分。可以解决单个镜像输入的程序是有效的答案。更复杂的程序会为其分数加分。 在PPCG上有几个难题,无法在一面镜子中找到激光路径。在这个难题中,您需要创建一个镜子框以匹配多个激光目标。 您会得到一个框和一个说明激光进入和退出位置的说明。您的程序需要在盒子中精确放置N个双面镜才能满足规格要求。镜子必须成45度角,但可以向前倾斜或向后倾斜。 输入值 您的程序应通过STDIN,命令行参数或以下格式示例的文件接受盒形网格: +--G--+ +abcde+ G | f/////d | /| a// c +-----+ f | +-b-e-+ 字母对(可以使用[a-zA-Z])表示最多52个激光器的输入/输出。盒子内部将放置N面/镜子。框的尺寸将为3 <= W,H <=200。该框由+|-字符组成。框中的镜子数量可以为零,包括零。 输出量 输出应该与输入匹配,除了/字符可以移动和/或更改为\字符。您的程序应将正确的镜像框字符串发送到STDOUT或文件,并在尾随新行添加可选。如果没有任何反射镜放置可以满足输入规格,则输出Impossible\n。可能的解决方案示例: +--G--+ +abcde+ G / | f \ \ d | | a/ \ c +-----+ f / //| +-b-e-+ 测试例 输入: +abcdefghijklmnopqrstuvwxyA-+ |/////////////// | |/////////////// | …
13 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.