Questions tagged «code-challenge»

代码挑战赛是一种创造性的竞赛,可以用客观的获胜标准来解决编程难题,而其他得分标记(例如,代码高尔夫)则无法涵盖这些目标。

4
最佳计分板
我有兴趣看到此问题(现已失效)的答案,但从未对其进行过纠正/改进。 给定一组6面Boggle骰子(此问题中的配置被盗),请在两分钟的处理时间内确定哪种电路板配置将允许最高分。(即哪个骰子在哪个位置,哪个面朝上允许最大的得分单词池?) 目的 您的代码运行时间不得超过2分钟(120秒)。那时,它应该自动停止运行并打印结果。 最终挑战分数将是该程序运行5次的平均Boggle分数。 如果出现平局,则获胜者将是发现更多单词的算法。 如果仍然有平局,则获胜者将是找到更长 (8+)个单词的算法。 规则/约束 这是一个代码挑战。代码长度无关紧要。 请参考此链接以获取单词列表(使用ISPELL "english.0"列表-SCOWL列表缺少一些非常常见的单词)。 您可以通过任何方式在您的代码中引用/导入/阅读此清单。 仅^([a-pr-z]|qu){3,16}$计算与正则表达式匹配的单词。(只有小写字母(3-16个字符,qu必须用作单位)。 通过链接相邻的字母(水平,垂直和对角线)以正确的顺序拼写单词,而不会在单个单词中多次使用单个骰子来形成单词。 单词必须是3个字母或更长;简短的单词将不赚分。 重复的字母是可以接受的,只是不能骰子。 单词不能跨越边或从木板的一侧越过到另一侧。 最终的Boggle(而非挑战)分数是找到的所有单词的总分。 为每个单词分配的点值基于单词的长度。(见下文) 普通的Boggle规则会扣除/打折其他玩家找到的单词。假设这里没有其他玩家参与,所有找到的单词都计入总分。 但是,在同一网格中发现多次的单词仅应计数一次。 你的函数/程序必须寻找最佳的安排; 简单地对预定列表进行硬编码将无法实现。 您的输出应该是理想游戏板的4x4网格,该板所有找到的单词的列表以及与这些单词匹配的Boggle得分。 模具配置 A A E E G N E L R T T Y A O O T T W A B B J O O …

4
马尔可夫链节拍发生器
前几天我只是有个主意:按照预定义的声音的马尔可夫链拍拍。 我记得有人用Google Translate和德语做了一个节拍盒(点击链接并按监听)。 因此,挑战在于如何从给定的链中为Google翻译构建文本输入。或者,您可以使用音符并自己演奏:)。 您可以使程序读取一条带有拍数的行,另一条读取其名称和几率的矩阵表示形式(可以选择表示形式)。 您也可以使用这三个参数来创建函数。 例如 [输入] 20 pv zk bschk kkkk [[.1, .4, .5, 0.], [.3, .2, .3, .2], [0., .3, .2, .5], [.1, .8, .1, 0.]] [输出]类似: pv zk bschk zk pv bschk zk pv zk bschk kkkk pv bschk zk bschk bschk bschk zk kkkk bschk …

8
在编译时计算CRC32表[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 5年前关闭。 CRC32的参考实现在运行时计算查找表: /* Table of CRCs of all 8-bit messages. */ unsigned long crc_table[256]; /* Flag: has the table been computed? Initially false. */ int crc_table_computed = 0; /* Make the table for a fast CRC. */ void make_crc_table(void) { unsigned long c; …

4
使用ASCII艺术图可视化长除法
编写一个程序,以可视化方式用ASCII艺术进行长除法。使用您选择的输入格式,输入由两个整数组成:分子和分母。 例子: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 规则: 编程语言的除法运算符的用途是允许的。 也允许使用大整数支持。 为了保持一致: 如果商为零,则在跳水板的末端打印一个零。 如果余数为零,请不要打印。 不要在任何数字上打印前导零。 末尾多余的换行符和右边的尾随空格是允许的。 字符最少的解决方案获胜。 限制: 0 <=分子<= 10 72 - 1 1 <=分母<= 9999999 …

3
协和的困境
背景 该旅行商问题(TSP)要求在最短的电路访问城市的指定集合。出于这个问题的目的,城市将是平面中的点,城市之间的距离将是通常的欧几里得距离(四舍五入到最接近的整数)。赛道必须“往返”,这意味着它必须返回出发城市。 在协和TSP求解器可以解决旅行推销员问题的情况下,准确和速度远远超过人们所期望的。例如,协和飞机能够精确地求解85,900点实例,其中的一部分如下所示: 但是,即使对于协和飞机,某些TSP实例也会花费太长时间。例如,没有人能够解决基于Mona Lisa的100,000点实例。(如果您能解决的话,将提供1,000美元的奖金!) Concorde 可作为源代码或可执行文件下载。默认情况下,它使用内置的线性程序(LP)求解器QSopt,但它也可以使用更好的LP求解器,例如CPLEX。 挑战 您可以生成花费最少五分钟的 Concorde的最小TSP实例是什么? 您可以编写一个程序来输出实例,或使用您想要的任何其他方法。 计分 实例中的点越少越好。关系将被实例的文件大小破坏(请参见下文)。 标准化 不同的计算机运行得更快或更慢,因此我们将Concorde的NEOS服务器用作运行时的衡量标准。您可以采用以下简单的2维坐标形式提交点列表: #cities x_0 y_0 x_1 y_1 . . . x_n-1 y_n-1 NEOS上应使用的设置为“协和数据(xy-list文件,L2规范)”,“算法:协和(QSopt)”和“随机种子:固定”。 基准线 在1889点的情况下rl1889.tsp,从TSPLIB以“总的运行时间:871.18(秒)”,这是超过五分钟。看起来像这样:

30
打印丢失的号码
作为《迷失》电视连续剧的忠实拥护者,我总是对重复出现在这些情节中的数字序列感兴趣。这些数字是: 4,8,15,16,23,424,8,15,16,23,42 4, 8, 15, 16, 23, 42(A104101) 使用任何编程语言,编写输出这些数字的代码。 得分: 最短答案胜出 输出中不得包含任何其他数字或字母。您可以使用任何其他字符作为分隔符,甚至根本不使用分隔符。 您不能分隔相同数字的数字。48_1516234248_15162342 48\_15162342 是有效答案,但481_5162342481_5162342481\_5162342不是。 您必须遵守订单。 如果您的代码不包含序列中的任何数字,请将您的分数降低30%。该规则确实允许您分别输入数字。例如: abcde1fg5h 是有效的候选者,因为答案不包含数字151515,仅包含数字。但是,任何444或888都会使奖金无效。 如果代码根本不包含任何数字,请将您的分数降低50%。其他字符(如,或仍可用于此奖励。¹¹¹²²²³³³

1
用神经网络排序
以前的神经网络高尔夫挑战(这个和那个)启发了我提出一个新的挑战: 挑战 找到最小的前馈神经网络,以便在给定具有整数条目的任何4维输入向量(a ,b ,c ,d)(一种,b,C,d)(a,b,c,d),网络输出的坐标方向误差严格小于。[ - 10 ,10 ][-10,10][-10,10]排序(a,b,c,d)分类(一种,b,C,d)\textrm{sort}(a,b,c,d)0.50.50.5 可接纳性 为了应对这一挑战,将前馈神经网络定义为层的组成。的层的功能,其由矩阵指定的权重,一个矢量的偏见,以及一个激活函数并在坐标方向上应用:左:右ñ→ R米大号:[Rñ→[R米L\colon\mathbf{R}^n\to\mathbf{R}^m甲∈ řm × n一种∈[R米×ñA\in\mathbf{R}^{m\times n}b ∈ ř米b∈[R米b\in\mathbf{R}^m F:R → RF:[R→[Rf\colon\mathbf{R}\to\mathbf{R} L (x ):= f(A x + b ),X ∈ řñ。大号(X):=F(一种X+b),X∈[Rñ。 L(x) := f(Ax+b), \qquad x\in\mathbf{R}^n. 由于可以针对任何给定任务调整激活功能,因此我们需要限制激活功能的类别,以使这一挑战变得有趣。允许以下激活功能: 身份。 F(t )= tF(Ť)=Ťf(t)=t ReLU。 F(t )= 最大值(t ,0 )F(Ť)=最大值⁡(Ť,0)f(t)=\operatorname{max}(t,0) Softplus。 F(t …

8
伟大的API复活节彩蛋狩猎!
API复活节彩蛋狩猎! http://easter_egg_hunt.andrewfaraday.com上有一个API ,将为您提供特殊的复活节彩蛋狩猎活动... 您可以在上述地址查看API文档,或从此处尝试。 API: 对该API的所有调用都是GET请求,该请求将返回JSON字符串。 这些示例位于5x5的花园中,仅供说明。该API实际上将在100x100花园(从索引1到100)上运行 /new_game API在内部产生一个花园,并在其中隐藏一个鸡蛋。 在此示例中,鸡蛋位于4、4 +----------+ | | | | | | | | | E | | | | | | | | | | | +----------+ 呼叫 /new_game 退货 {game_id: 'abcde'} /guess/:game_id/:x/:y 该API会在花园中查看并告诉您您有多近。 如果您猜对了2下8下,花园就是这样 +----------+ | | | | | | | | …

4
回文压缩
挑战 编写一个无损压缩和解压缩ASCII文本的程序。它应该专门用于与回文症(包括不区分大小写和标点符号不敏感的回文)一起使用。以最小的源获得最好的压缩效果。 计分 total_bytes_saved / sqrt(program_size) -最高分获胜 total_bytes_saved压缩后的字符串比原始字符串小多少字节,在下面的测试用例中总计。program_size是压缩和解压缩程序的源代码的字节大小。两者之间共享的代码只需计算一次。 例如,如果有10个测试用例,并且一个100字节的程序在7个测试用例上保存了5个字节,而在其中2个上每个保存了10个字节,但是最后一个测试用例长了2个字节,则该解决方案的得分为5.3。((7 * 5 + 10 * 2 - 2) / sqrt(100) = 5.3) 测试用例 tacocat toohottohoot todderasesareddot amanaplanacanalpanama wasitacaroracatisaw? Bob IManAmRegalAGermanAmI DogeeseseeGod A Santa at NASA Go hang a salami! I'm a lasagna hog. 规则 有标准漏洞。 压缩必须适用于所有可打印的ASCII(包括32-126字节,包括字节)文本字符串,而不仅仅是回文。但是,它实际上不必节省任何输入的空间。 输出可以是任何字节或字符序列,无论其实现方式或内部表示形式如何(例如,字符串,列表和数组都是公平的游戏)。如果编码为UTF-8,请计算字节数,而不是字符数。除非可能使用的唯一代码点在0到255之间,否则不允许使用宽字符串(例如UTF-16或UTF-32)。 不允许使用压缩/解压缩内置函数。 为了我们自己的乐趣,请将压缩的字符串与您的源代码一起发布。 更新1:将得分从更改total_bytes_saved / …

1
战略消失者
这篇帖子是从此mathoverflow帖子大致上受到启发的。 消失是Conway人生游戏中任何一种模式,只要经过一步,它就会完全消失。例如,下面的图案是9号Vanisher。 Vanishers的一个有趣特性是,只需添加更多活细胞,任何图案都可以变成一个消失的图案。例如,以下图案可以完全像这样消失在图案中 但是,我们可以通过添加更少的活细胞来将该图案制作成Vanisher。 您的任务是编写一个为我们完成此任务的程序。给定一个模式作为输入查找,并输出一个包含输入的消失模式。您不必仅找到有效的模式就找到最佳模式。 计分 要对您的程序评分,您将必须在所有大小为6的息肉小程序上运行该程序(不能对相等的对称情况进行两次计数)。 这是一个在每个行中包含每个倍增子的pastebin。一共有524个。它们表示为六个坐标的列表((x,y)元组)每个是活动单元的位置。 您的分数将是为使所有这些息肉变成Vanishers而添加的新细胞总数。 领带 对于平局,我将提供要运行的程序的大小为7的息肉列表。 IO 我希望IO非常灵活,可以采用合理的格式进行输入和输出,但是您可能希望采用与我提供的原始输入数据相同的格式进行输入。您的格式在多次运行中应保持一致。 定时 您的程序应在合理的时间内在合理的计算机上运行(大约<1天)。我并不会真正执行太多,但是我希望我们都玩的很好。

2
数学表达式摊牌!
系统会为您提供6个数字:5个数字[0-9]和一个目标数字。您的目标是将运算符散布在数字之间,以尽可能接近目标。你必须使用每个数字恰好一次,可以使用下面的运营商 多达你想要的时间:+ - * / () ^ sqrt sin cos tan。例如,如果给出的话,8 2 4 7 2 65我可以输出82-(2*7)-4。评估结果为64,因此我的得分是1,因为我离目标1分。注意:不能在数字之间放置小数点。 我正在使用此StackOverflow答案中的代码来评估数学表达式。在该问题的底部,可以使用一些程序进行测试。 链接功能(更新!) @mdahmoune揭示了这一挑战的新高度。因此,我要添加一个新功能:链接一元函数。这适用于sin,cos,tan和sqrt。现在sin(sin(sin(sin(10))))您可以写作,而不是写作sin_4(10)。在评估器中试用! 输入值 200个行分隔的5位数字的测试用例和一个目标数字,以空格分隔。您可以使用问题底部的程序来制作示例测试用例,但是我将拥有自己的测试用例以进行官方评分。测试用例分为40个测试的5个部分,目标数量的范围如下: 第1节:[0,1](至5个小数点) 第2节:[0,10](至4个小数点) 第3节:[0,1000](至3个小数点) 第4节:[0,10 6 ](至1个小数点) 第5节:[0,10 9 ](至0个小数点) 输出量 200行分隔的数学表达式。例如,如果测试用例为5 6 7 8 9 25.807,则可能的输出为78-59+6 计分 每个回合的目标是比其他竞争计划更接近目标人数。我将使用Mario Kart 8得分,即:。如果多个答案获得相同的准确分数,则将分数平均分配,四舍五入到最接近的整数。例如,如果并列第5-8位的程序,则它们各自在该回合中获得(8 + 7 + 6 + 5)/ 4 = 6.5 …

4
制作Minecraft制作表
当您不记得如何在Minecraft中制作东西时,您不讨厌它吗?好了,该纠正一下了! 任务 您的任务是输入一个1D或2D列表,并输出制作表的结果是什么! 输入值 您可以将输入作为字符串或长度列表9或2D嵌套数组。 如果您将输入作为... 串 表格中的每个项目均以可打印ASCII字符(0x20至0x7E)为1个字符。为了表示一个空白空间,您可以使用,-例如,WWW-W-WWW将其与手工制作的表格相同 +------+------+------+ | Wood | Wood | Wood | +------+------+------+ | | Wood | | +------+------+------+ | Wood | Wood | Wood | +------+------+------+ 您也可以将输入作为多行字符串,只要保留所有空格,例如 WWW W WWW 一维阵列 您将输入作为一个char数组,其中手工制作表上的空白将是一个空char,例如,上表将是 ['W','W','W','','W','','W','W','W'] 2D阵列 这次,每个列表代表工艺表上的一行,其中空白是一个空字符,例如 [['W','W','W'],['','W',''],['W','W','W']] 您可以假设输入将始终对应于可以制作的商品,并且如果使用数组输入,则可以将空字符替换为任何不用作缩写名称的字符。 输出量 只要是很明显的含义,输出就是您想要的任何形式的输入内容。(个人而言,我将使用我的1个字母的缩写) 配料 对于这个挑战,wood是指木板,而不是木原木。 制作时,您只需要处理最常见的物品。这些是制作的成分,但也可能是制作的产品。制作配方遵循xxxxxxxxx上面的字符串输入格式。如果无法制作物品,---------则放置物品。 有些食谱是不定型的,这意味着只要所有物品都在那,就可以制作出该物品。这些表示为*。这方面的一个例子是,pumpkin pie(在这个挑战不是一个),仅需要pumpkin,sugar并egg作出。 item …

30
创建一个鹦鹉程序
给定输入,输出该输入,然后不断地换行。 输入将是仅由可打印的ASCII字符(0x20-0x7E)和换行符(0x0A)组成的字符串。 如果输入长度为0,则不断输出换行符。 这是代码高尔夫球,因此每种语言中最少的字节会获胜!
15 code-golf  string  sequence  combinatorics  fastest-code  number  code-challenge  restricted-source  rosetta-stone  code-golf  arithmetic  decision-problem  integer  factorial  code-golf  arithmetic  decision-problem  integer  bitwise  code-golf  kolmogorov-complexity  code-golf  tips  vim  code-golf  quine  code-generation  code-golf  string  restricted-source  code-golf  string  random  unicode  code-golf  audio  code-golf  ascii-art  code-golf  decision-problem  code-golf  puzzle-solver  code-golf  restricted-source  code-golf  kolmogorov-complexity  permutations  hexagonal-grid  code-golf  string  math  combinatorics  fastest-code  code-golf  restricted-source  code-golf  string  code-golf  arithmetic  code-golf  math  number  code-golf  string  decision-problem  balanced-string  code-golf  binary  code-golf  string  number  code-challenge  restricted-source  code-golf  ascii-art  printable-ascii  interactive  code-golf  string  ascii-art  code-challenge  restricted-source  source-layout  code-golf  arithmetic  tips  functional-programming  golfing-language  code-golf  binary  encryption 

3
找到最短的哥伦布尺子
哥伦布尺子是非负整数的集合,因此集合中没有两对整数间隔相同。 例如,[0, 1, 4, 6]是Golomb标尺,因为此集合中两个整数之间的所有距离都是唯一的: 0, 1 -> distance 1 0, 4 -> distance 4 0, 6 -> distance 6 1, 4 -> distance 3 1, 6 -> distance 5 4, 6 -> distance 2 为了简化此挑战(并且翻译很简单),我们强加了Golomb标尺始终包含数字0(前面的示例中这样做)。 由于该集合的长度4,因此我们说这是一个有序 的Golomb标尺4。此集合(或元素,因为0总是在集合中)中的最大距离是6,因此我们说这是长度的哥伦布尺 6。 你的任务 找到哥伦布统治者为了 50给100有小(含)的长度,你可以找到。您发现的标尺不一定是最佳的(请参见下文)。 最优性 N如果没有其他N长度较小的Golomb直尺,则称Golomb直尺是最优的。 最佳Golomb直尺的订单少于28个,但随着订单的增加,找到和证明最优性变得越来越困难。 因此,不能期望您找到介于50和之间的任何订单的最佳Golomb标尺100(甚至更不可能期望您可以证明它们是最佳的)。 程序的执行没有时间限制。 基准线 下面的列表是使用天真的搜索策略评估的Golomb尺规从50到100(按顺序)的长度列表(感谢@PeterTaylor获得此列表): [4850 …

2
Befunge脑筋急转弯
介绍 对于那些想知道Befunge到底是什么的人,它是Chris Pressy在1993年提出的一种基于二维堆栈的语言。我在Befunge-93中做了7个需要解决的难题。这是一个实验性的挑战,但我认为值得一试:)。在Befunge-93中使用的所有命令的完整列表可以在此处找到。 怎么玩? 这项任务有点像没有警察的强盗。基本上是为了获得分数而破解提交内容。每个难题都包含问号。必须将其替换为range 32 - 127中包含空格的任何可打印ascii字符。请参见以下示例: ??????@ 鉴于输出必须为hi。经过一番困惑之后,我们可以发现解决方案是: "ih",,@ 但!您不提供解决方案。那是为了防止作弊。您无需发布解决方案,但可以发布hash。哈希是通过以下代码段生成的: String.prototype.hashCode = function() { var namevalue = document.getElementById("inputname").value; var namenumber = 123;for (var character = 0; character < namevalue.length; character++) {namenumber += namevalue.substring(0, 1).charCodeAt(0);}var hash = 123 + namenumber, i, chr, len;if (this.length === 0) {return 0;}for (i …

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.