Questions tagged «maze»

应对迷宫挑战。

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

30
追加字符串长度
挑战: 给定s字符a- z,A- Z,0- 上的字符串9,将其长度附加s到其自身,将长度中的其他字符计为的总长度s。 输入: 只是任意长度的字符串(可以为空)。 输出: 相同的字符串,但其长度附加到末尾。代表长度的字符也应算作长度的一部分。如果要附加多个有效长度,请选择最小的长度(有关示例,请参见测试用例)。 测试用例: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

3
最短的通用迷宫出口绳
通过指定每个边缘是墙还是墙来定义方形单元的N x N网格上的迷宫。所有外边缘均为墙。一个单元格定义为开始,一个单元格定义为退出,并且从开始即可到达出口。开始和退出永远不会是同一单元格。 请注意,起点和出口都不必位于迷宫的外部边界,因此这是有效的迷宫: 字符串“ N”,“ E”,“ S”和“ W”表示试图分别向北,向东,向南和向西移动。被墙壁阻止的移动将被跳过而不会移动。如果从头开始应用该字符串会导致到达出口,则该字符串会退出迷宫(无论该字符串在到达出口后是否继续)。 灵感来自这个puzzling.SE问题,针对同或提供一个解决的方法可证明具有很长的字符串,编写代码,可以发现,通过3迷宫退出任何3一个字符串。 排除无效的迷宫(在同一单元格上开始和退出,或无法从开始到达出口),有138,172个有效迷宫,并且字符串必须退出每个迷宫。 有效期 该字符串必须满足以下条件: 它仅由字符“ N”,“ E”,“ S”和“ W”组成。 如果从头开始,它将退出应用到的所有迷宫。 由于所有可能的迷宫都包括每个可能的迷宫以及​​每个可能的有效起始点,因此这自动意味着字符串将从任何有效的起始点退出任何迷宫。也就是说,从可以到达出口的任何起点开始。 获奖 获胜者是提供最短有效字符串并包括用于生成它的代码的答案。如果有多个答案提供了最短的字符串,则第一个提交该字符串长度的用户将获胜。 例 这是一个长度为500个字符的示例字符串,可以给您带来一些帮助: SEENSSNESSWNNSNNNNWWNWENENNWEENSESSNENSESWENWWWWWENWNWWSESNSWENNWNWENWSSSNNNNNNESWNEWWWWWNNNSWESSEEWNENWENEENNEEESEENSSEENNWWWNWSWNSSENNNWESSESNWESWEENNWSNWWEEWWESNWEEEWWSSSESEEWWNSSEEEEESSENWWNNSWNENSESSNEESENEWSSNWNSEWEEEWEESWSNNNEWNNWNWSSWEESSSSNESESNENNWEESNWEWSWNSNWNNWENSNSWEWSWWNNWNSENESSNENEWNSSWNNEWSESWENEEENSWWSNNNNSSNENEWSNEEWNWENEEWEESEWEEWSSESSSWNWNNSWNWENWNENWNSWESNWSNSSENENNNWSSENSSSWWNENWWWEWSEWSNSSWNNSEWEWENSWENWSENEENSWEWSEWWSESSWWWNWSSEWSNWSNNWESNSNENNSNEWSNNESNNENWNWNNNEWWEWEE 感谢orlp捐赠了这个。 排行榜 相等分数按该分数的发布顺序列出。这不一定是答案发布的顺序,因为给定答案的分数可能会随时间更新。 法官 这是一个Python 3验证器,它使用NESW字符串作为命令行参数或通过STDIN。 对于无效的字符串,这将为您提供失败的迷宫的直观示例。

6
ASCII迷宫渲染3000
我不喜欢打字,所以我用一种非常简单的格式画迷宫: # ##### # # # ### # # # # # # # # ##### # 它不是迷宫吗?当然,我认为所有迷宫都应看起来像3d,与这个挑战相似但不相同,以最大程度地提高迷宫感,所以我(勉强地)手动更新了迷宫,使其看起来像这样: +-----+ +-----------------------------+ |\ \ |\ \ + \ \ + \ \ \ \ \ \ +-----------------------+ \ \ \ \ \| |\ \ \ \ \ +-----------------------+ \ \ \ \ …

30
这个数字是-2的整数次幂吗?
有很多聪明的方法来确定数字是否为2的幂。这不再是一个有趣的问题,因此让我们确定给定的整数是否为-2的整数次幂。例如: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² 规则 您可以编写程序或函数,并使用接收输入和提供输出的任何标准方法。 您的输入是一个整数,如果该整数是-2的整数次幂,则输出必须是一个真实值,否则,则必须是一个虚假值。不允许其他输出(例如警告消息)。 通常的整数溢出规则适用:您的解决方案必须能够在语言的假设(或实际)版本中使用任意大整数,默认情况下,所有整数都是无界的,但是如果您的程序由于实现而在实践中失败不支持大整数,这不会使解决方案无效。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 获奖条件 这是一场代码高尔夫球比赛:字节数最少(在您选择的编码中)的答案是获胜者。

14
迷宫生成
我知道有一个与此(此处)类似的(旧)线程,但是我想进行一些修改来重新启动它。 目标:使用您选择的算法生成外观随机的迷宫,然后以图形方式输出迷宫(打印计数)。 宽度和高度由您确定。 从至少一个入口到至少一个出口应该有至少一条路径。 迷宫的格式(如何显示,标记入口或出口)也取决于您。 越漂亮越好。 不鼓励琐碎的迷宫(例如空白迷宫,格子迷宫,大小为1x1的迷宫)。 如果结果合理,则允许并鼓励迷宫中的循环。 鼓励语言滥用。 迷宫应该看起来相当随机(但是完全确定性的(例如混沌)算法也可以)。 编辑:这里的主要重点是使最小的实现。但是,我想在此限制范围内留出一些余地,以鼓励保持柔韧性。我故意留下了迷宫开放式的“特征”,但是作为一个粗略的指导原则,您应该尝试将最多的爆炸归入最小的词汇量。

4
成功导航小行星场
介绍 每个人都知道,成功导航小行星场的可能性约为3,720:1。但是尽管有您的警告,Han Solo仍然愿意尝试自己的运气。 出于对人造生活的恐惧,您决定使用飞船特有的方言(请参见:首选的“高尔夫语言”)进行编码,避免使用小行星程序,该程序将决定采用小径ASCII迷宫的路径。 输入值 Millenium Falcon拥有一个小行星场制图程序,该程序提供类似于以下数据: | ##### ######### | | ###### # ### # | | # # # # #### # | @ ## #### |# # # ### ## | |## ## #### # # | |#### ##### # ## | 顶部排在猎鹰的左边,底部排在猎鹰的右边,而列代表船前的东西。 每个#都是障碍。 每个空间都是飞船可以飞入的空白空间。 输入始终为7个字符高。这是小行星映射宽度限制。 输入始终为32个字符长(字段本身为30个字符,开始和结束限制为2个字符)。这是小行星映射深度限制。竖线|标记映射的开始和结束。 …
36 code-golf  maze 

4
无限迷宫
背景 您是一个功能强大的向导的徒弟,您的大师当前正在开发一种咒语,以创建一个多维迷宫来诱捕敌人。他希望您对自己的蒸汽动力计算机进行编程,以分析可能的布局。对这台恶魔般的机器进行编程非常危险,因此您需要使代码尽可能短。 输入值 您的输入是一个由句点.和哈希组成的二维网格#,表示空白空间和墙壁,以换行符分隔的字符串形式给出。总是至少有一个.和一个#,并且您可以决定是否有尾随换行符。 此网格是无限迷宫的蓝图,它是通过将网格的许多副本彼此相邻对齐而制成的。迷宫分为空腔,它们是空空间的连接组件(对角相邻的空间不连接)。例如网格 ##.#### ...##.. #..#..# ####..# ##...## 导致以下迷宫(在各个方向无限连续): ##.######.######.#### ...##.....##.....##.. #..#..##..#..##..#..# ####..#####..#####..# ##...####...####...## ##.######.######.#### ...##.....##.....##.. #..#..##..#..##..#..# ####..#####..#####..# ##...####...####...## ##.######.######.#### ...##.....##.....##.. #..#..##..#..##..#..# ####..#####..#####..# ##...####...####...## 这个特殊的迷宫包含一个无限区域的空腔。另一方面,此蓝图导致迷宫只有有限的空腔: ##.#### ##..### ####... ..####. #..#### 输出量 如果迷宫包含无限的空腔,则您的输出应为真实值,否则为虚假的值。注意迷宫可能同时包含有限和无限的腔;在这种情况下,输出应为真实的。 规则 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 其他测试用例 无限腔: .# #.# ... #.# #.###.#.###.# #.#...#...#.# #.#.#####.#.# ..#.#...#.#.. ###.#.#.#.### #...#.#.#...# #.###.#.###.# ##.### …

5
生活是迷宫:我们学会走路之前走错了路
输入: 包含以下字符的迷宫: -- (水平墙); | (垂直墙); + (连接); (步行空间); I (入口); U (出口)。 即输入看起来像这样: +--+--+--+--+--+--+--+--+--+--+ I | | | + +--+--+--+ + + + +--+ + | | | | | | +--+--+--+ +--+--+ + + +--+ | | | | | + +--+--+ + +--+--+ +--+ + | | …

30
ASCII三角形
您的任务是编写一个打印ASCII三角形的程序或函数。他们看起来像这样: |\ | \ | \ ---- 您的程序将采用单个数字输入n,并带有约束0 <= n <= 1000。上面的三角形的值为n=3。 ASCII三角形将具有n反斜杠(\)和竖线(|),n+1线和破折号(-),并且每行除最终行外还将具有等于行号(从0开始,即第一行为行0)的空格。 。 例子: 输入: 4 输出: |\ | \ | \ | \ ----- 输入: 0 输出: 在此测试用例中,输出必须为空。没有空格。 输入: 1 输出: |\ -- 输入和输出必须完全是我指定的方式。 这是代码高尔夫球,因此请争取尽可能短的代码!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

2
帮助吃豆人计算吃点数
在担心自己超重的吃豆人女士的建议下,吃豆人决定跟踪自己每天的吃豆点摄入量。帮助他计算迷宫中给定路径上的点点数! 迷宫 为了帮助您构建自己的迷宫编码,您可以在此处获取一些原始数据。 吃豆人的旅程 在此挑战的背景下,适用以下规则: 首先,好消息是:幽灵不在。 吃豆人总是在上图所示的位置开始比赛,向东方行驶。起始位置没有Pac-Dot。 只要他一直走直线路,他就会一直前进到下一个方块。 当他遇到90°转弯而没有其他可用路径(地图上的橙色正方形)时,他会自动而系统地转弯。 当他遇到路口时多个路径可用(地图上的绿色正方形)时,他可以沿相同的方向继续行驶(如果适用),也可以选择其他方向(包括掉头)。 当吃豆人穿过迷宫左中或右中出口的其中一个出口时,他立即在对面再次出现。 吃豆人会在他遵循的路径上吃掉所有吃豆点。一旦吃了一点点,就将其从迷宫中取出。 挑战 输入值 您将得到一个字符串,描述吃豆人在他将要到达的路口的行为。此字符串将由以下字符组成: L:向左旋转90度 R:向右旋转90度 F:前进(方向不变) B:向后走(掉头) 处理完所有字符后,Pac-Man在遇到的下一个路口停下来。 输出量 您必须打印或输出沿输入路径吃掉的点点数。 规则 您可以编写完整的程序或函数。 您可以输入大写或小写形式的字符串或字符数组。您也可以在中使用其他字符(每个方向只能使用一个字符)或整数[0 .. 9]。如果这样做,请在答案中明确指出。 您可以假定输入始终有效。(下面的jsFiddle将检测到错误,但您不应这样做。) 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 禁止出现标准漏洞。 暗示 存储迷宫的确切形状可能不是必需的,也不是最佳的。 测试案例和演示 可以在此jsFiddle中测试以下测试用例(或任何其他输入)。 1. Input : "" Output : 1 Comment: Pac-Man just advances to the first junction, eats …

28
计算超级对数
这应该是一个简单的挑战。 给定一个数字n >= 0,输出的超级对数(或log *,log-star或迭代对数,它们是等效的,因为n对于该挑战永远不会为负。)n。 这是四官能的两个反函数之一。另一个是超级根,这是一个相关的问题。 例子 Input Output 0 0 1 0 2 1 3 2 4 2 ... 15 2 16 3 ... 3814279 3 3814280 4 规则 您可能不需要支持小数。 您需要至少支持输入3814280 = ceiling(e^e^e)。 您可能不对值进行硬编码3814280。(理论上,您的程序必须支持更高的数字。)我希望实现一种算法。 最短的代码胜出。 相关OEIS
29 code-golf  math  code-golf  array-manipulation  sorting  code-golf  math  arithmetic  matrix  code-golf  string  kolmogorov-complexity  code-golf  string  code-golf  math  sequence  arithmetic  recursion  code-golf  math  ascii-art  sequence  code-golf  math  array-manipulation  code-golf  code-golf  kolmogorov-complexity  code-golf  string  code-golf  string  decision-problem  code-golf  array-manipulation  tips  javascript  json  code-golf  math  string  number  number-theory  code-golf  math  sequence  fibonacci  number  arithmetic  fastest-code  integer  code-golf  math  sequence  code-golf  string  file-system  tips  golfscript  code-golf  string  code-golf  string  natural-language  code-golf  string  file-system  code-golf  math  array-manipulation  code-challenge  image-processing  compression  code-golf  math  number  sequence  code-golf  math  combinatorics  regular-expression  code-golf  sequence  pi  code-golf  ascii-art  code-golf  string  array-manipulation  sorting  code-golf  string  graph-theory  code-golf  string  code-golf  string  ascii-art  code-challenge  compression  code-golf  code-golf  math  sequence  number-theory  code-golf  maze  graph-theory  code-golf  math  sequence 

2
2D迷宫减1D
这个挑战是关于将2D迷宫转换为1D迷宫。 总览 +-+-+-+-+-+-+ +-+-+-+-+-+-+ graph { | | | | |A| | B| A B A -- D + + + + +-+-+ + + + + +-+-+ \ | C -- D | | | | | | | | \ | D -- E +-+-+ +-+-+ + +-+-+ …

6
六角迷宫时间!
是时候进行另一个迷宫挑战了,但并不是您所知道的。 此挑战的规则与大多数迷宫挑战略有不同。磁贴类型定义如下: S:迷宫的起始位置 E:您要到达的位置 0:你无法穿越的墙 +:您可以越过的地板 您可以沿六个方向之一旅行:左上,右上,左,右,左下或右下。 \ / -S- / \ 迷宫不包裹。目的是找到从S到的最短路径字符串E。 输入: 输入是用空格隔开的线条,如所示的迷宫。后面没有空格。 输出: 一个字符串R,L和F在那里 R 向右旋转(顺时针)60度 L 向左旋转(逆时针)60度 F 在您指向的方向上移动一个空间 你开始指向 left-up 最短路径由生成的字符串的长度计算,而不是访问的位置数。您的程序必须打印最短路径作为解决方案。 如果迷宫无法解决,则应输出Invalid maze!。 (>>>是输出) 0 0 0 0 0 + 0 + 0 0 0 0 + + 0 0 + 0 + 0 + …

7
找到奶酪
更新:有6个迷宫。它们包含在控制器中。还有就是迷宫的一个tar.gz和他们的.bmp文件在这里(Dropbox的)。还有一个实用程序,可在该链接上产生更多的迷宫(maze_4.txt文件在存档中不正确)。此时,请随时运行您自己的条目并更新您的分数。底部包含有关操作方法的详细信息。如果您有任何疑问或麻烦,请在聊天中ping我。 你是老鼠 你在迷宫中。找到奶酪。 概念 您处于矩形网格上存在的迷宫中。网格的每个空间都包含以下几项之一: ! -不可逾越的墙 -一个可遍历的空白空间 O -你,老鼠 + -奶酪,您的目标 请使用相同的字符,这样我就不必修改控制器。 在每个回合中,您将获得当前位置的北,南,东和西瓷砖。然后,您必须输出想要行驶的方向。拿到奶酪,您就赢了。步骤越少越好。 输入项 您将通过stdin通过以下方式获得输入:nesw,其中每个字母代表该罗盘点处的图块。例如,如果当前状态看起来像 ! <--- Wall !O <--- You + <--- Cheese 然后您将得到字符串! +!。 在游戏结束时,控制器将向您发送四个零的字符串:0000。收到此字符串后,您的程序应终止。给定的其他任何输入都不会包含该0字符。 请忽略所有其他输入。 输出量 你要输出一个字母n,s,e,或w,以表明你想往哪个方向行驶,接着换行字符。 计分 您在每次测试中得到的分数是找到奶酪所需的步骤数。 您的总体得分将是一系列大小可变的迷宫中每个迷宫的平均得分的总和,所有这些迷宫都可以放入长度为50的正方形内。 例如,如果您的漫游器需要100次移动才能完成6个迷宫中的每一个,那么您的得分就是600。 如果您的漫游器不确定,请尝试每个迷宫10次,并使用平均值作为该迷宫的分数。您的最终分数将是所有平均值的总和。 规则 每个迷宫都可以容纳50x50的正方形。 从迷宫到奶酪,每个迷宫都有至少一条有效路径。 每个迷宫都将完全围起来,但奶酪将始终位于外壁上,因此它实际上是迷宫的出口。 如果碰壁,您的提交将被取消参赛资格。 如果您提交的时间过长(由我确定,我开始测试的时间),则会被取消参赛资格。这在很大程度上是为了防止无限循环。尽管我保留随时在任一方向上更改此设置的权利,但每个迷宫的软限制为一分钟。 参赛作品不一定是确定性的,但是如果您太随意,则以上几点可能会取消参赛资格。 在某些时候,迷宫将被释放,未来的答案可能无法针对它们进行优化,并且它们可能会发生变化。 提交内容: 您的提交是一个完整的程序,它通过stdin输入,通过stdout输出。这很重要,因为提交将与迷宫控制器进行交互。我不会禁止不免费提供的语言,但是我知道如果我无法使用该语言,则其他人将不得不花时间来运行测试。 请附上有关如何运行提交的说明。 请说明您的提交是否具有确定性,以便我知道是否需要多次运行。 测试迷宫 在测试迷宫中,.角色概述了到达奶酪的最短路径。它们与(空格)字符相同。它们对您的提交不可见。控制器将它们替换为空格。 …

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.