编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

2
动画Adven the Adventurer
挑战 您的任务是为穿越冒险家(即万圣节)迷宫的Adve the Adventurer设置动画。Adve是一个•; 不过,他性格流畅,因此他不介意由其他角色代表。 要为Adve制作动画,请打印出每一帧;框架是其中包含当前位置的地图。Adve每转一圈向前移动一个空间,永不后退。他从第一行开始,到最后一行结束。 输入值 任何合理的格式,例如带有定界符的字符串或字符串数​​组。您可以假设输入将是一个大于3 * 3的地图,仅包含一个可能的路径。出现的唯一字符是#和。 输出量 框架。 示例迷宫(好吧,迷宫) 这是一张没有Adve的地图;第一帧和最后一帧是此空白地图(此地图为9x15): ### ##### ## ##### ## ###### ## # ####### # # ### # # # # # # # ### # ####### # #### #### #### #### ### ##### ### ##### ### ##### ### 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 的确切该输出可以找到这里(37帧)。 …
12 code-golf  string 

11
方形不螺旋的弦!
给定一个字符串,首先将其平方如下: 首先,编写字符串。 abcde 接下来,编写向左旋转的字符串。 abcde bcdea 继续这样做,直到您编写了len(string)行。 abcde bcdea cdeab deabc eabcd 现在,从这样的字符串中读取: ----+ +--+| |+>|| |+-+| +---+ 这使: abcdeabcdcbaedcbcdeabaede 打印此字符串。 测试用例 abcdef -> abcdefabcdedcbafedcbcdefabcbafedefaf cena! -> cena!cenanec!anena!cec!a! ppcg -> ppcgppcppgcpcgpg abc -> abcabacbc ab -> abab a -> a -> 如果测试用例不正确,请发表评论。 请记住,这是code-golf,所以字节数最少的代码将获胜。
12 code-golf  string 

30
查找列表的“展开大小”
让我们通过以下规则定义u嵌套列表l(仅包含列表)的“展开大小”功能: 如果l为空,u(l)则为1。 如果l为非空,u(l)则等于中每个元素的展开大小的总和l。 您的任务是编写一个将列表作为输入并输出(或返回)列表未包装大小的程序(或函数)。 测试用例: [] -> 1 [[[]],[]] -> 4 [[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19 [[[[]]]] -> 4 这是代码高尔夫球,因此最短的程序(以字节为单位)获胜。

1
随机南瓜补丁
前几天,我正走过南瓜地参加生日聚会,注意到南瓜藤蔓上有一个漂亮的图案,有漩涡,毛圈和分支。我们将在这里使用一些ASCII艺术进行模拟。 (()) \ p--q p-----q / \ / \ (()) b--d (()) 葡萄藤构造规则 只有一个主蔓,仅由\ / - p q b d字符组成。 藤蔓仅从左到右穿过屏幕。换句话说,假设您是从最左边藤蔓字符开始的蚂蚁。在前进到主葡萄树上的下一个相邻角色时,必须向右移动一列-绝不能向左移动。 当藤蔓改变方向时,需要一个p q b d字符来模拟一个循环。在p加入藤蔓东北向东行驶,在q东向东南,在b从东南到东部,d从东部到东北。请注意,字母的“循环”连接到水平的藤蔓,字母的“茎”连接到对角线。 藤蔓的起点必须是p或b(您可以选择,不一定是随机的)之一,并且水平开始。藤蔓的末端必须是q或d(您可以选择,不一定是随机的)之一,并且必须水平末端。 请注意,可以将循环放置在与其他循环紧邻的位置(例如,pd是葡萄树的有效子串),但这可能会使以后放置南瓜更加困难。您可能希望总是- / \在循环后立即拥有其中之一(就像我在示例中所做的那样),但这不是必需的。 南瓜规则 南瓜仅由(())(确切的字符串)组成。 南瓜是从主葡萄藤上附着的。这些分支只能附加到p q b d环上,长度恰好一个\或/长度,并附加到南瓜上,因此分支的“末端”位于中间。 它们可以连接在主葡萄树的上方或下方。 分支可以连接到“左侧”。 每个分支只能附加一个南瓜,每个循环只能附加一个分支。 随机性 在水平行驶时,葡萄藤有50%的机会继续水平行驶,有25%的机会向东北转动,有25%的机会向东南转动。 当沿对角线行驶时,葡萄树有90%的机会水平转弯,而有10%的机会继续对角线行驶。 尽管允许更多匝数,但必须有足够的匝数来支持输入的南瓜数量。 藤蔓建成后,可以将南瓜随机放置在尚未被南瓜占据的任何角落。 南瓜不能与葡萄藤或其他南瓜重叠。 挑战 给定输入数字,请按照上述规则输出随机南瓜补丁。使用相同的输入多次执行代码应产生不同的结果。给定输入数字的所有可能的南瓜补丁应具有一定(不一定相等)的非零发生机会。 输入值 一个整数n,以任何方便的格式表示补丁中南瓜的数量。为了简化代码,您可以假设输入为0 < n …

4
优先权
您的任务是调节十字路口的交通。北,东,南和西有4条道路。 输入是一个字符串,代表每条道路上即将到来的交通。例如,NNNWS表示总共有5辆车:北三辆,西三辆,南三辆。字符的顺序在这里不重要,NNNWS等效于WNNSN。 您必须使用正确规则的优先级来输出小汽车行驶的顺序:从南方来的汽车必须先让从东方来的汽车先行,向东让北,向北让西,向西让路南。 例如,在输入的情况下NNNWS,应该先向南行驶,然后向西行驶,再向北行驶3辆。因此,输出应为SWNNN。 存在一些不确定的情况,例如:NS或NNWSE:然后应输出string stuck。 测试用例 N => N NW => WN NWS => SWN SNW => SWN SSSSS => SSSSS ENNNNES => NNNNEES NS => stuck NNWSE => stuck
12 code-golf 

12
生成单路径迷宫
给定一个奇数N(5 <= N <= 51),生成一个边长为N的迷宫,其遵循以下要求: 迷宫必须由字符 | -和组成+。它必须将|角色用作垂直墙,将-角色用作水平墙,并且如果该墙转弯,+则应使用角色。 路径的宽度必须是一个字符。 迷宫必须转动至少四次。 迷宫必须具有外壁,该壁在两个点处断裂:起点和终点。 从头到尾,迷宫必须包含一条不间断的路径。 例如,以下是有效的迷宫:(N = 5) +---+ | | | | | | --+-- 对于N = 7: --+---+ | | | | | | | | | | | | | | | | +---+-- 请记住,这是code-golf,所以字节数最少的代码将获胜。

6
哈克塞高尔夫技巧
您在Haxe打高尔夫球有哪些一般提示?我正在寻找可以应用于代码高尔夫球问题的想法,并且这些想法至少也特定于Haxe(例如,“删除评论”不是答案)。 请为每个答案发布一个提示。 Haxe可以在这里在线运行!
12 code-golf  tips 

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

5
A047841:自传编号
定义 这是描述数字的过程: 对于数字中从0到的每个9数字: 写下该数字的频率,然后写下该数字。 例如,对于数字10213223: 有1发生0, 2出现了1, 3出现了2, 2发生3。 因此,描述的数字10213223是10213223(10从第一个属性,21从第二个属性,等等)。 注意,数字的出现次数可以大于9。 任务 您将打印/输出所有描述自己的数字。 眼镜 除了允许您对输出进行硬编码或将与输出有关的信息存储在程序中之外,存在标准漏洞。 输出中的数字可以任意顺序。 输出中的数字允许重复。 如果选择打印而不是输出,则可以使用任何分隔符。 你是允许的,如果你选择要打印的,而不是输出到前缀和/或后缀输出。 分隔符,前缀和后缀不得包含任何数字(U + 0030至U + 0039)。 解决方案必须在一天内计算。 全部列表(109个条目) 22 10213223 10311233 10313314 10313315 10313316 10313317 10313318 10313319 21322314 21322315 21322316 21322317 21322318 21322319 31123314 31123315 31123316 31123317 31123318 31123319 31331415 31331416 31331417 …

30
输出字符串的累积斜率
挑战 给定一个字符串,例如Hello World!,将其分解为字符值:72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33。 然后计算每对连续字符之间的差:29, 7, 0, 3, -79, 55, 24, 3, -6, -8, -67。 最后,对它们求和并打印最终结果:-39。 规则 适用标准漏洞 请勿使用执行此确切任务的预制函数 鼓励创意解决方案 玩得开心 这被标记为code-golf,以字节为单位的最短答案将获胜,但不会被选择。

2
解决纸牌象棋难题
最近,我被介绍给了一款名为Solitaire Chess的益智游戏。我将在此处总结规则: 该板是一个4x4的棋盘格。 所有作品都使用相同的颜色(没有团队),并且所有作品都可以捕获其他任何作品。 每一步都必须抓住。不得搬到空方格。 最后必须只剩下一件。 所有棋子的移动都与象棋中的动作完全相同,但有一个修改:棋子可以在任何对角线方向上捕捉(从技术上讲,它像是ferz)。为了使那些可能不知道的人受益,我提供了运动图。 国际象棋的其他规则(例如支票,cast等)均不适用于此。全部与捕获有关。 国王(K) K * . . | * K * . | * * * . * * . . | * * * . | * K * . . . . . | . . . . | * * * …
12 code-golf  chess 

18
所有二进制组合到十进制
免责声明 这个问题不是这个问题的重复。我没有在计算特定数字,因为我们已经在初始参数中设置了这些数字。这个问题集中在可以根据提供的数字从二进制字符串构造的十进制数。 挑战 给定两个整数X和Y,分别代表零(0)和一((1)的数量),计算所有可能的十进制等价物,这些等价物可以通过仅使用提供的零和一创建二进制字符串来确定,并将它们显示为输出。 范例1: 输入: 0 1 输出: 1 说明:1只占一种,只能以一种方式转换。 范例2: 输入: 1 1 输出: 1,2 说明:01转换为1,10转换为2。 范例3: 输入: 3 2 输出: 3,5,6,9,10,12,17,18,20,24 说明:三0和二1构成00011(3),00101(5),00110(6),01001(9),01010(10),01100(12),10001(17),10010(18),10100(20),11000(24) 限制和规则 我只希望您的代码能在0 < X + Y <= 16这样的地方工作,所以输出中的最大数量只能从16 1秒开始,即参数0和16。 由于上述限制,我们期望输出中的数字范围是0和65535。 我将接受功能或代码,所以只要提供所得到的输出,这是否是一个逗号分隔的列表,阵列,输出到STDOUT列表等的唯一标准,我必须强调关于输出的是,它必须进行排序。 这是代码高尔夫,最少的字节将获得最大的荣耀。 我们不会容忍愚蠢的漏洞
12 code-golf  binary 

3
验证选票三角形
甲签号码,我们将标签乙,是的布置从1号的方法,通过B(B + 1)2号/成三角形,使得每个行和列是任何递增的顺序。前四个投票号码是: a(0) = 1 a(1) = 1 a(2) = 1 a(3) = 2 a(3)是2,这意味着有2种方式将数字从1排列到3(3+1)/2 = 6这样的三角形: 1 1 2 3 or 2 4 4 5 6 3 5 6 有关更多详细信息,请参见OEIS序列条目。 给定选票三角形,您的挑战是验证其正确性。如果满足选票三角形的条件(行数和列数增加),则应该输出其他几种方法(输入中的方法除外)以正确地布置三角形。如果输入三角形的构造不正确,则不应输出任何内容。 尾随换行符是允许的。 输入值 数字三角形,可能是也可能不是有效的选票三角形。例如: 1 2 3 4 5 6 1 10 5 9 8 2 7 6 …

8
密数序列
OEIS:A167171 阿密号是一个数字,具有完全一样多素因子作为无素因数(包括1和本身作为除数)。等效地,它是素数或两个不同素数的乘积。前100个密集数字为: 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 29, 31, 33, 34, 35, 37, 38, 39, 41, 43, 46, 47, 51, 53, 55, 57, 58, 59, 61, 62, 65, 67, 69, 71, 73, 74, 77, 79, 82, 83, 85, 86, …

6
切达打高尔夫球的秘诀
Cheddar是由我们的用户Downgoat创建的一种高级,功能性+面向对象的编程语言,旨在使编程更容易,更快和更直观。 您在切达(Cheddar)打高尔夫球有哪些一般提示?我正在寻找可以应用于代码高尔夫球问题并且至少在某种程度上特定于Cheddar的想法(例如,“删除不必要的空格。”不是答案)。
12 code-golf  tips 

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.