Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

11
与通配符序列匹配的所有正方形
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3年前关闭。 这是受2016 ARML竞赛团队问题#6的启发。 这是挑战: 您将获得一个“通配符序列”,它是一个数字序列和另一个字符。字符串通过以下伪代码匹配此通配符序列: w = wildcard s = string # s matches w iff for all 0 >= i > wildcard.length, w[i] == '?' or s[i] == w[i] 哪里?是您选择的角色。 就正则表达式而言,只需想象'?'是'.'。 挑战在于找到所有十进制字符串表示形式都与该通配符序列匹配的平方数(要求最大为100万)。很明显,“通配符”可以是您选择的任何ASCII字符,只要它不是数字即可。 例如,4096匹配4**6和,4*9*但4114都不匹配。 输入项 输入将作为与regex匹配的序列给出[0-9?]+。它可以是ASCII字符的字符串,字符数组或字节数组。 输出量 输出将是一个任意分隔的数字列表/集合/数组,它们是完美的平方并与通配符序列匹配。 有效输入的示例: 1234567*90 1234567?90 1234567u90 ['1', '2', '3', '4', '5', '6', …

1
收集垃圾
您正在寻找一条大道,有人把垃圾扔掉了!您需要编写一个程序来帮助解决此问题,方法是将垃圾放入垃圾桶。 任务 途径由一串可打印的ASCII字符组成,例如: [[](dust)[]] car ((paper)vomit) (broken(glass)) [[] (rotten) fence (dirty) 这里的某些括号是无法比拟的;这些只是诱饵。我们关心的是匹配的括号。 一个垃圾桶是一个字符串开头[和结尾],并与内部匹配括号和括号。例如,[]和[[](dust)[]]是上面字符串中的垃圾桶。 一个垃圾袋是一个字符串开头(和结尾),并与内部匹配括号和括号。例如,(dust)上面的字符串中是垃圾袋。 有些垃圾袋可能已经在垃圾桶中了。但是,至少将一个人遗漏在外,我们需要移动垃圾袋,以便它们全部位于垃圾桶中。具体来说,对于当前不在垃圾桶内的每个垃圾袋(即该垃圾桶的子串),我们需要将其从字符串中的当前位置移除,然后插入到垃圾桶内的位置。 这里还有一条附加规则。因为我们不想在垃圾收集器上花费太多的钱,并且它们的路线将它们沿着从右到左的方向走,所以我们想将每个垃圾袋向左移动(最重要的标准,假设我们必须将其移动到全部)和最短距离(只要将其向左移动)。因此,例如,唯一正确的输出 [can1](bag)[can2] 是 [can1(bag)][can2] (将包仅向左移动一个字符)。此外,袋子必须保持相同的相对顺序: [can](bag1)(bag2) 必须成为 [can(bag1)(bag2)] (即,您不能放在(bag2)的左侧(bag1)。) 澄清说明 最左边的垃圾箱的左边没有任何垃圾袋。始终可以通过将其向左移动来清除所有垃圾。 总会有至少一个袋子可以移动。可能不止一个。 垃圾袋内永远不会有垃圾桶(罐子太贵了而不能扔掉)。 如果罐子里已经有袋子,那就别管它了。 输入和输出的尾随空格(包括换行符)也可以不同。 例子: 输入: [[](dust)[]] car ((paper)vomit) (broken(glass)) [[] (rotten) fence (dirty) 输出: [[](dust)[]((paper)vomit)(broken(glass))] car [[(rotten)(dirty)] fence 输入: []] (unusable) door (filthy) …

4
等距括号类型
基于 这个问题。 给定一个字符串,将每个括号替换()[]{}<>为适当类型的括号,以使括号匹配,并且嵌套括号循环如下: 最外面的是 () 直接的内()应[] 直接的内[]应{} 直接的内{}应<> 直接在内<>将()再次出现(周期) 所有非括号字符必须保持原样。开括号只能用某种类型的开括号替换,而闭括号则要用闭括号替换。 输入将始终使之成为可能。这意味着如果忽略其类型,则其括号正确匹配。所以,{ab<)c]是一个有效的输入,但ab)(cd还是ab((cd没有。 例子: 2#jd {¤>. = 2#jd (¤). abcdef = abcdef (3×5+(4-1)) = (3×5+[4-1]) <<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}]) 不允许使用这种方式对输入进行本机转换(语言的自动语法)。 与往常一样:最短的代码获胜。

2
2D地牢爬行者
您的程序必须采用多行字符串,如下所示: ############# # # # p # # # ############# p是玩家,#是一个障碍。 现在在终端下应该是一条输入行,上面写着: How do you want to move? 如果玩家键入l必须在没有障碍物的情况下向左走,否则,在存在障碍物的情况下,他将无法通过并且当然也不会移动,因此现在必须更新终端中的输出(并且先前的输出已清除/覆盖): ############# # # # p # # # ############# 他可以输入l左,r右,u上和d下。 输入将始终为多行,但不会始终用空格填充为理想的矩形。另外,散列可以在字符串中的任何位置,并且不会始终相互连接。例如: ## ## # # ## p # 是有效的地牢。(请注意,每行上都没有尾随空格) 如果玩家不在字符串范围内,则不必显示他。但是,如果他稍后再来,则必须再次显示。 字符串“外部”的边界是length(longest_line)by number_of_lines矩形,因此即使一行没有在右边填充空格,该位置也不会被视为超出范围。使用早期地下城的示例: ## ## # #p ## # 第二行现在的p没有空格,但这没关系。 最后,您的程序必须永远循环以获取输入。 测试用例 …

6
打印一个唱歌的天使
保持节日主题不变,以尽可能短的代码打印颂歌天使。天使为无家可归的人筹集资金,因此必须能够按要求演唱以下所有三首歌。为了说明她可以唱歌,歌曲的标题必须放在气泡中。该歌曲标题将由用户输入。示例包括: 圣母玛丽 铃儿响叮当 平安夜 输入: 标题:3首歌曲中的1首。 输出: ____________ (\ ___ /) / \ ( \ (‘o‘) / ) / \ ( ) < ( ‘> <’ ) \ / / \ \____________/ / \ ‘ – “ - ‘ 请粘贴您演唱天使的结果以及歌曲“ Silent Night”。 语音气泡规则: 对话气泡必须始终具有12个下划线行的框架。 歌曲的标题必须始终从第二行开始。 歌曲的标题必须始终在气泡内的3个下划线空格开头。 123456789... (\ ___ /) …

5
曼哈顿旋转距离序列
我虽然这将是一个很好的挑战:http : //adventofcode.com/2016/day/1 任务描述 给定遵循模式(L | R)[1-9] [0-9] *的一系列旋转和距离,给出起点和终点之间的曼哈顿距离,即在垂直方向和水平方向上移动的最小次数一个网格。 例子 例如,如果我们假设您开始面对北方: 沿R2行驶,L3离开您,向东2个街区,向北3个街区,或距您5个街区。R2,R2,R2在距离您的起始位置以南2个街区的地方,向您离开了2个街区。R5,L5,R5,R3距离您12个街区。 技术细节 您可以在移动之间选择分隔符(例如:“ \ n”,“,”或“,”)。您必须以10为底的整数给出答案。 不能重复! 由于多种原因,它不是重复的: 动作不一样。在这里,它们是旋转,而不是方向。 我要曼哈顿的距离,而不是欧洲人的距离。
9 code-golf 

1
最耐用的口袋妖怪类型
背景 这个问题与此类似。我已经提供了下面所有需要的信息。如果您熟悉其他挑战,请注意,我们正在对所有防御进行排名,而不是看到单个攻击的有效性。这很重要,因为这意味着这些表是彼此相反的,并且此挑战的目标是没有用户输入。 神奇宝贝中有18种类型: Normal Fighting Flying Poison Ground Rock Bug Ghost Steel Fire Water Grass Electric Psychic Ice Dragon Dark Fairy 宠物小精灵有一个或两个定义它们的独特类型(“类型组合”)。例如,Bulbasaur的类型组合为Grass / Poison(草和毒药两种),Charmander的类型组合为Fire(只有一种)。类型的顺序无关紧要(即草/毒物与毒/草相同)。 这些类型都有优点和缺点: 一个类型可以弱于另一个类型。火对水微弱。这导致火对水具有2倍的乘数。 一种类型可以抵抗另一种类型。水是耐水的。这导致水与水的乘数为0.5倍。 一种类型可以不受另一种类型的影响。飞行不受地面影响。这导致Flying对地面的乘数为0x。 其他任何东西都会收到标准的1倍乘数。法线对法线将导致1倍乘数就是一个例子。这些优势和劣势也可以复合或消除。例如,火对水弱,但是火/水双重类型对水具有1倍的乘数,因为火的弱将抵消水的抵抗力。有关完整表格和更多说明,请参见下文。 目的 这里的目标是输出所有类型组合的列表,按其防御能力的顺序排序,并列出它们的(抵抗力+免疫力)数量,弱点以及它们之间的比率。具体来说,排序顺序如下:(抗性+免疫性)与弱性比率最佳的类型组合首先列出,并且如果存在平局,则具有最高抗性和免疫性的类型组合将赢得平局。您可以通过任何方式生成此列表(一种明显的方法是针对每种类型组合进行类型有效性计算,但是如果这样做会使它更短,则可以在程序中存储预先计算或部分预先计算的输出。) 类型有效性表 有关人类可读的表格,请参阅Pokemon数据库。 注意:此列表的各列是我们正在考虑的内容。但以防万一,这是我在压缩的计算机友好有效性矩阵中考虑的表格。我已经将每个值乘以2,所以我们不必处理讨厌的小数: Attacking type (same order) Nor 222222422222202222 Fir 214211224221422211 D Wat 211441222222222212 e Ele 222122224122222212 f Gra …

3
编码高尔夫随机正交矩阵
一个正交矩阵是方阵与真正的条目,其列和行是正交的单位向量(即,正交向量)。 这意味着M ^ TM = I,其中I是单位矩阵,^ T表示矩阵转置。 注意,这是正交的而不是“特殊正交”,因此M的行列式可以是1或-1。 挑战的目标不是机器精度,因此如果M ^ TM = I到4个小数位以内就可以了。 任务是编写采用正整数n > 1并输出n×n矩阵的正交正交代码。矩阵应从所有 n×n个正交矩阵中随机且均匀地选择。在这种情况下,“均一”是根据Haar测度定义的,这实际上要求如果乘以任何自由选择的正交矩阵,分布就不会改变。这意味着矩阵的值将是-1到1范围内的浮点值。 输入和输出可以是您认为方便的任何形式。 请显示代码运行的明确示例。 您不能使用任何现有的创建正交矩阵的库函数。这个规则有些微妙,所以我将进一步解释。该规则禁止使用任何现有函数,该函数需要一些(或不输入)输入并输出大小至少为n×n的矩阵,该矩阵必须保证正交。举一个极端的例子,如果您想要n×n单位矩阵,则必须自己创建。 您可以使用任何标准随机数生成器库来选择所需的随机数。 您的代码最多应在几秒钟内完成n < 50。

2
将无点转换为有点
作为一名Haskell黑客,我更喜欢无意义的符号而不是有意义的符号。不幸的是,有些人发现难以理解的无点符号,而当我用有针对性的方式编写时,我发现很难获得正确的括号数量。帮我将用pointfree编写的代码转换为有意义的符号! 关于 在无点表示法中,我们使用点(是的,确实)将一个函数的输出馈送到另一个函数。说,如果您有一个succ将数字加1的函数,并且想制作一个将数字加3的函数,而不是这样做: \x -> succ(succ(succ(x))) 您可以这样做: succ.succ.succ Pointfree仅适用于带有单个参数的函数(无论如何,在这个挑战中),因此,如果我们的函数不是succ,而是add采用2个数字并将它们相加,我们将不得不向其提供参数,直到只剩下一个: pointful: \x -> add 1(add 1(add 1 x)) pointfree: add 1 . add 1 . add 1 最后,函数可以将其他函数用作参数: Pointfree: map (f a . f b) . id Pointful: \x -> map (\x -> f a (f b x)) (id x) Javascript …

7
随机填写表格
给定正整数n < 10,创建一个二维矩阵,其中每个位置均以x和填充y(从左上角开始)。 例如: 输入2 00 10 10 11 输入3 00 10 20 01 11 21 02 12 22 创建网格后,随机填充每个索引。可以用“ x”或任何其他方式表示已填充斑点。 您可以通过随机生成索引来填充矩阵来确定要填充的位置。您只能填充n ^ 2次,因此在矩阵完全填充之前,您无法填充任意次数。最后,必须填充矩阵,因此您必须做一些工作以确保检查用于填充的随机数,以确保该点尚未填充。 每次填充后刷新或打印,以显示填充迭代的进度。 填充示例: 输入2 00 10 01 11 00 是随机选择的: XX 10 01 11 01 是随机选择的: XX 10 XX 11 00是随机选择的,但由于已被选择,因此重新滚动选择10: XX XX XX 11 11 是随机选择的: …

3
天然皮#1-沙
目标 生成(N)个等长()的随机线段l,检查它们是否与等距(t)平行线交叉。 模拟 我们在模拟什么? 布冯的针。平滑沙盒中的沙子,画出一组等距的平行线(称为之间的距离t)。取直的长度l,将其N放到沙箱中。让它越过一条线的次数为c。然后Pi = (2 * l * n) / (t * c)! 我们如何模拟这一点? 接受输入 N,t,l 随着N, t, l全部为正整数 请执行以下N次数: 生成均匀随机的整数坐标 x,y 用 1 <= x, y <= 10^6 x,y 是长度的线段的中心 l 生成均匀随机整数 a 用 1 <= a <= 180 设P线段与x轴交叉的点 然后a是角度(x,y), P, (inf,0) 计算与整数c相交的线段的数量,x = i*ti 返回 …

5
做一个简化的他妈哥池/吉加宠物!
Tamagotchi和Giga Pets是模拟小型虚拟宠物的小型电子设备。这只宠物有一些统计数据,例如健康,饥饿等。 我最近写了这个例子: import msvcrt,os,sys;d=m=100;h=s=t=p=0;f=10 while 1: os.system('cls'if os.name=='nt'else'clear');print("health:",d,"\nhunger:",h,"\nsleep:",s,"\nfood:",f,"\npotions:",p,"\nmoney:",m);t+=1 if msvcrt.kbhit(): k=ord(msvcrt.getch()) if k==102 and h>8 and f:f-=1;h-=9 if k==115:s=0 if k==112 and p:p-=1;d+=9 if k==98 and m>8:m-=9;p+=1 if k==116 and m>8:m-=9;f+=1 if t>99: t=0;h+=1;s+=1 if s>80:s=0;h+=9 if h>80:d-=1 if d<1:sys.exit(0) if d>79:m+=1 这是一个467字节的准虚拟宠物!然后我想知道高尔夫职业选手的代码做得如何,所以现在是挑战。 挑战 制作一个程序来跟踪虚拟宠物的6个状态,并随着时间的推移并响应用户输入来更新它们。统计数据为:健康和金钱(从100开始),食物(从10开始)以及饥饿,睡眠和药水(从0开始)。 程序应响应以下事件来更新值: 当程序不接收任何输入时,它应以固定的间隔执行更新(两次更新之间的间隔不应短于半秒,也不应长于一秒)。每个更新执行以下操作: 饥饿和睡眠分别增加1。 如果饥饿大于或等于80,则生命值降低1。 …
9 code-golf 

10
近似arcsinc
目标很简单:x在sin(x) = -mx给定输入的情况下m,以最少的字节数输出方程的非零实解。 规格: 您的答案必须是3位有效数字的正确答案。 您可以输出除平凡解决方案以外的任何实际解决方案x=0。您可以假设m存在至少一种解决方案。您也可以假设m!=0。 一个使用梯度下降的明显次优的python解决方案: from math import * from random import * a=x=0.001 m = 5. def dE(x):return 2*(sin(x)+m*x+1)*(cos(x)+m) for i in xrange(1000): x-=dE(x)*a print x 测试用例 -0.25 -> ±2.4746 -0.1 -> ±2.8523 or ±7.0682 or ±8.4232 0.2 -> ±4.1046 or ±4.9063
9 code-golf  math 

1
执行邓普斯特的组合法则
DST速成班 Dempster–Shafer理论(DST)提供了一种方法,可以将各种证据来源组合成一个信念。给定一个可能陈述的列表(其中一个是正确答案),每个可能的陈述组合都被分配一个“质量”,以表示支持证据的程度。所有组合的总质量始终等于1。 从这些大规模分配中,我们可以根据该组合的真实性创建一个合理的下限(信念)和上限(合理性)。bel(X)任何集合X 的置信度都是X的所有子集(包括自身)的质量总和。pl(X)任何集合X 的合理性是“ 1-与X不相交的所有集合的质量之和”。下图说明了信念和合理性与不确定性之间的关系。 例如,假设有一个交通信号灯可以是Green,Yellow或Red之一。选项列表和可能的质量分配如下所示: binary interpretation m(X) bel(X) pl(x) 000 null 0 0 0 001 R 0.2 0.2 0.7 010 Y 0.1 0.1 0.3 011 Y||R 0.05 0.35 0.8 100 G 0.2 0.2 0.65 101 G||R 0.3 0.7 0.9 110 G||Y 0 0.3 0.8 111 G||Y||R 0.15 …
9 code-golf  math 

1
高尔夫之王
介绍 在JRR Tolkien的《指环王》中,这句话都在每本书的封面上。 Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone, Nine for Mortal Men doomed to die, One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. One Ring to rule them …

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.