编程拼图和代码高尔夫

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

7
计算YouTube播放列表中的视频
挑战 给定一个Youtube播放列表,输出其中的视频数量。 输入输出 播放列表将作为URL给出;例如,https://www.youtube.com/playlist?list=PL_3jnZNPYn7qUatgDYBS5NShkfXoehSRC((这是一个朋友发送给我的播放列表,试图让我听K-Pop,因为她迷恋它,而我不喜欢它:P) 播放列表的链接的格式为 https://www.youtube.com/playlist?list=<id>。输入的是URL,而不是ID。 输出将是一个整数,指示此播放列表中有多少个视频。您既可以输出视频总数,也可以输出未删除视频的数量,以适合您的情况为准。 测试用例 https://www.youtube.com/playlist?list=PL_3jnZNPYn7qUatgDYBS5NShkfXoehSRC -> 12 https://www.youtube.com/playlist?list=PLIEbITAtGBebWGyBZQlkiMXwt30WqG9Bd -> 114 OR 1 随时添加更多测试用例。

8
找到给定化合物的先生!
挑战 给定化学式,输出化合物的M r。 方程 化合物中的每个元素后跟一个数字,表示化合物中所述原子的数目。如果没有数字,则化合物中只有一个原子。 一些例子是: 乙醇(C 2 H 6 O)将C2H6O存在两个碳原子,6个氢原子和1个氧原子 氢氧化镁(MgO 2 H 2)将MgO2H2存在一个镁原子,两个氧原子和两个氢原子。 请注意,您将不必处理方括号,并且每个元素在公式中仅包含一次。 虽然大多数人可能会坚持自己最满意的顺序,但没有严格的订购系统。例如,水可以是H2O或OH2。 中号[R 注意:此处,假设分子式质量与分子质量相同 化合物的M r,即分子量,是分子中原子的原子量的总和。 您必须支持的唯一元素及其原子量(小数点后一位)(氢到钙,不包括稀有气体)如下。他们也可以在这里找到 H - 1.0 Li - 6.9 Be - 9.0 B - 10.8 C - 12.0 N - 14.0 O - 16.0 F - 19.0 Na - 23.0 Mg …

14
用零填充文件
今天的任务是获取一个现有文件,并将零添加到该文件,直到达到一定大小为止。 您必须编写一个程序或函数,该程序或函数采用当前目录中文件的名称f和字节数b。在保留的原始内容的同时f,您必须在末尾写入零(空字节,而不是ascii 0),以便其新大小为b字节。 您可以假设名称中f仅包含字母数字的ascii,您对此具有完全权限,其初始大小不大于b,但可能与一样大b,并且有无限的可用磁盘空间。 您可能不会假设f它是非空的,或者它不已经包含空字节。 执行结束后,不应修改其他现有文件,也不应该存在新文件。 测试用例 f的内容| b | f的结果内容 12345 | 10 | 1234500000 0 | 3 | 000 [空] | 2 | 00 [空] | 0 | [空] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

3
这是我的咬人吗?
昨天,我把三明治放在桌子上了。今天我起床的时候,里面有一口……是我的吗?我不记得了 问题: 代表三明治和我的咬咬图案,并告诉我是否咬咬。 例子: 范例1: 我的咬模式: .. . 三明治: ##### .#### ..### 输出: truthy 范例2: 我的咬模式: .. .. 三明治: ...## ..### .#### 输出: falsy 范例3: 如果至少有1个旋转视为真实,则输出为真实。 我的咬模式: . . . 三明治: ##. #.# .## 输出: 两次可能的旋转(在东北或西南角咬)。 truthy 一些有效的叮咬: .. . ... . . . . . .. . . .. …

2
告诉我,那里有几个正方形?
给定一个由0和组成的非空2D数组1,求4个角均为all的正方形的数量1。正方形不必是“直立的”。所有行都保证具有相同的长度。 允许使用合理的输入/输出方法。 测试用例: 0001000 1000000 0000000 0000100 0100000 这返回1。 10101 00000 10100 00000 10001 这返回2。 1111 1111 1111 1111 这返回20。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

2
KOTH:击沉
介绍 对于我的第5个KOTH,我向您提出了一个基于著名游戏《战舰》的挑战,但有一些曲折。您将只指挥一艘船,您可以在5个“传统”级中进行选择,但是您每回合就可以采取多种行动,包括移动!这是一个FFA(全民免费)计划,您的目标将是成为最后一名战舰。 原理 该游戏是回合制的。在游戏开始时,您必须选择飞船的等级。然后,每回合,玩家将能够根据自己的飞船执行几个动作。 游戏在2D网格(X,Y)上进行,该网格的边以这种方式定义: X = 30 + numberOfPlayer Y = 30 + numberOfPlayer 每艘船的起始位置都是随机的。 播放顺序在每个回合中都是随机的,您将不知道自己在“队列”中的位置或玩家数量。游戏持续100转或直到只有一艘船还活着。 每当您击中敌舰或被击中时,您将获得或失去积分。得分最高的玩家获胜。优胜者将获得赏金(价值取决于参与者的数量)。 控制器通过命令参数为您提供输入,而程序必须通过stdout输出。 句法 第一回合 您的程序将被调用一次,没有任何参数。您必须输入1到5(含)之间的整数来选择您的飞船: 1:驱逐舰[长度:2,移动/转弯:3,射击/转弯:1,射程:9,地雷:4] 技能:自由轮旋转(无冷却) 2:潜艇[长度:3,移动/转弯:2,射门/转弯:1,射程:5,地雷:4] 技能:可以俯冲/浮出水面(见输出)。在水下时,您只能使用“运动”动作,并且只能通过扫描才能看到。您不会被射击击中,但是会受到地雷的伤害。 3:巡洋舰[长度:3,移动/转弯:1,射击/转弯:2,射程:9,地雷:2] 技能:可以修理(参见输出) 4:战舰[长度:4,移动/转弯:1,射击/转弯:3,射程:7,地雷:1] 技能:可以屏蔽(见输出) 5:运载工具[长度:5,移动/转弯:1,射击/转弯:1,射程:7,地雷:3] 技能:射门对目标造成AOE(作用范围)伤害(1点飞溅伤害)。如果目标被击中出手,高达2个细胞这船也将被破坏。 转弯 输入值 每次调用程序时,它将收到以下格式的参数: Round;YourPlayerId;X,Y,Direction;Hull;Moves,Shots,Mines,Cooldown;Hits,Sunken,Damage;Underwater,Shield,Scan;Map 轮次按1分索引。 输入示例 1;8;1,12,0;111;1,2,2,0;0,0,0;0,0,0;UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXXXX.......UUUUUUUUXXXX.......UUUUUUUUXXXX.......UUUUUUUUXXXX.......UUUUUUUUXXXX.......UUUUUUUUXXXX.O.....UUUUUUUUXXXX.O.....UUUUUUUUXXXX.O.....UUUUUUUUXXXX.......UUUUUUUUXXXX.......UUUUUUUUXXXX.......UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 在这里,这是第一轮,您是玩家8。 您的船位于(X = 1,Y = 12)上,您的方向朝顶部(0 =顶部,1 =右,2 =底部,3 =左) )。 …

27
你必须打几遍奎因?
为应对这一挑战,您必须创建一个程序,该程序需要一个整数x并x多次输出其源代码。 规则 这是代码高尔夫,目的是使您的程序具有最少的字节数 如果提交函数,则该函数必须x作为参数,并且x多次将整个代码返回或打印到STDOUT。功能体也不能为空 如果您提交lambda,则不需要将其分配给变量 适用标准漏洞限制。 禁止空程序 您的程序仅在x整数大于或等于0 时才起作用 您的程序也可能不会直接读取其源代码的任何部分
12 code-golf  quine 

19
KOTH-加载的RPS
竞赛永久开放-2017年8月10日更新 即使在2017年6月5日,我宣布了一个获胜者(他将被保留为最佳答案),我仍将选择新的机器人并更新结果。 6月5日的结果 恭喜用户1502040 由于没有平局,我只显示获胜的百分比。 Statistician2-95.7% Fitter-89.1% Nash-83.9% Weigher-79.9% ExpectedBayes-76.4% AntiRepeater-72.1% Yggdrasil-65.0% AntiGreedy-64.1% Reactor-59.9% NotHungry-57.3% NashBot-55.1% Blodsocer-48.6% BestOfBothWorlds-48.4% GoodWinning-43.9% Rockstar-40.5% ArtsyChild-40.4% Assassin-38.1 % WeightedRandom-37.7% Ensemble-37.4% UseOpponents-36.4% GreedyPsychologist-36.3% TheMessenger-33.9% Copycat-31.4% Greedy-28.3% SomewhatHungry-27.6% AntiAntiGreedy-21.0% Cycler-20.3% Swap-19.8% RandomBot-16.2% 我使用每个配对结果的网格创建了一个Google表格:https : //docs.google.com/spreadsheets/d/1KrMvcvWMkK-h1Ee50w0gWLh_L6rCFOgLhTN_QlEXHyk/edit? usp =sharing 多亏了陪替氏困境,我发现自己能够应付这位山丘之王。 游戏 游戏是一个简单的“石头剪刀布”,带有扭曲:游戏中每次胜利都会增加点数(加载R,P或S)。 纸胜摇滚 剪刀胜纸 摇滚胜剪刀 获胜者获得的积分与其在游戏中的负担一样多。 失败者的游戏负担增加1。 在平局的情况下,每个玩家的游戏负担增加0.5。 经过100场比赛,获胜者将获得更高分。 …

5
维恩图单元
给定的多组,例如s1={2,3,7},s2={1,2,4,7,8}和s3={4,7},一个维恩图可视每一组由闭合曲线和一套元件,其内部或曲线的周边之外,这取决于它们是否是该组或不的元件。因为所有集合元素在Venn图中仅出现一次,所以如果一个元素存在于多个集合中,则表示每个集合的曲线需要重叠。我们称这种重叠为维恩图的一个单元。 这种解释可能有点混乱,因此让我们看一个示例。 例 维恩图的集合s1,s2并且s3看起来是这样的: 被(从顶部到底部看,从左到右)这个文氏图的细胞{1,8},{2},{7},{4},{3},{}和{}。 在实践中,一个人通常只遇到两个或三个集合的维恩图,因为四个或更多集合的维恩图的表示不是很清楚。但是它们确实存在,例如六组:CC BY-SA 3.0,https: //commons.wikimedia.org/w/index.php?curid = 1472309 任务 给定一组以任何合理表示形式表示的非空正整数集,请返回输入集的维恩图的像元集。具体而言,不需要图形表示。 您可以编写完整的程序或函数。 您可能会返回与有空单元格(即,所有单元格的列表)一样多的空集,而不是仅返回一个空集(即,单元格的集合)。 输入的用于上述示例的一些合理的方式包括但不限于{{2,3,7},{1,2,4,7,8},{4,7}},[[2,3,7],[1,2,4,7,8],[4,7]],"2,3,7;1,2,4,7,8;4,7"或"2 3 7\n1 2 4 7 8\n4 7"。如果不确定您选择的输入格式是否可接受,请随时在评论中提问。 如果可能,您的输出格式应与您的输入格式匹配。请注意,此规则要求您的格式能够明确显示空集。 这是code-golf,因此请尝试使用您选择的语言使用尽可能少的字节。为了鼓励每种语言而不是每种语言之间的竞争,我不会接受答案。 测试用例 以下是一些输入以及可能的输出: input -> output {{2,3,7},{1,2,4,7,8},{4,7}} -> {{1,8},{2},{7},{4},{3},{}} (or {{1,8},{2},{7},{4},{3},{},{}}) {{1,2,3},{4,5,6},{7,8,9}} -> {{1,2,3},{4,5,6},{7,8,9},{}} {{}} -> {{}} {{1,2,3},{1,2}} -> {{1,2},{3},{}} {{4,3,8},{1,2,9,3},{14,7,8,5},{6,11,3,8},{10},{9,4,3,7,10}} -> {{6,11},{10},{4},{3},{8},{5,14},{1,2},{9},{7},{}} {{2,3,4,7},{},{1,3,7,5,6},{2,3,7,5},{7,2,4,3,6},{1,4,5}} -> {{},{4},{2},{7,3},{1},{6},{5}} …

5
可能第四次与流感有关
由于明天是5月4日,因此这里有一个以“星球大战”为主题的小贴士,可以让您从心理上做好应对明天来临的所有恶作剧的准备。 故事背景 在银河参议院会议期间,所有参议员都坐在n*n网格中。JarJar流感的突然爆发(持续不断,并导致被感染者像JarJar Binks一样说话)导致某些参议员受到感染。 这是一个带有6*6网格的示例,其中X感染了参议员,对应的列表是[[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[0,5]]:: 之后,感染开始逐步传播。如果两个参议员共享网格上的整个边缘(即,上,下,右,左),则它们是相邻的,这意味着我们不包括对角线。 我们可以得出结论,一个参议员可以与2,3或4个其他参议员相邻,并声明以下感染规则: 被感染的参议员永远保持感染 如果某位参议员在上一步中与2位或更多位受感染的参议员相邻,则该步骤将被感染。 这是先前网格的示例,显示了感染的两个第一步: 在接下来的步骤之后,所有参议院将被感染 你的任务 您的代码不需要处理无效输入,例如列表大于n*n或坐标不是唯一的。 您的代码将输入一对整数(或二进制网格或任何其他适合您的语言的格式)和一个整数n(如果您使用除列表以外的其他格式,则不必要)的列表,例如: 8 [[1,2],[1,1],[7,4],[2,7],[4,3]] n是网格的侧面,这意味着该网格将是一个* n网格,而整数对列表是最初感染的参议员的细胞的坐标。 网格的左下角是[0,0],右上角是[n-1,n-1]。左上角是[0,n-1]。 您的代码必须输出一个整数: -1 或伪造的值或错误(如果整个网格永远不会被完全感染)或感染整个网格所需的最少步骤 测试用例 6 [[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[5,0]] => 7 4 [[1,1][0,3][1,0][3,0][3,3]] => 9 请记住,这是代码高尔夫,因此以字节为单位的最短答案为胜!
12 code-golf  grid 


5
计算用户的声誉
挑战 给定用户名(不是ID,我们已经面临挑战),输出其当前信誉和ID。 输入值 输入将是单个字符串,即用户的用户名。您可以假定该用户存在。 输出量 输出将是STDOUT或STDERR的两个整数,这将是用户的信誉和用户的ID。它们必须按照特定的顺序,并且可以任何合理的格式输出 细节 信誉输出不得超过10分钟。 您的程序在正常执行期间可能不会引发任何错误 存在标准漏洞(包括没有URL缩短程序) 如果使用该用户名的用户不止一个,则可以输出使用该用户名的任何用户的统计信息。这也是为什么必须输出ID的原因。 要输出的信誉是用户在PPCG上的信誉,而不是网络总分。 可以在此处找到Stack Exchange API网站。您可以从此处阅读文档。

16
“ A”到Ä转换器
我目前正在扫描一堆手写文档并将其转换为.txt文件。由于我的笔迹很差,所以.jpg-> .txt转换器会将我的变音符号转换为“正常”字母,' 任务 编写程序或函数以: 给一个字符串 您可以选择任何I / O代码页,只要 它支持字符AEIOUaeiouÄËÏÖÜäëïöü'。 禁止合并变音符号 输入和输出代码页相同。 输入(在空格旁边)将仅包含代码页中的可打印字符。 只有一种解决方案,因此'a'e'不会出现 将以下集合中的所有字符转换AEIOUaeiou为ÄËÏÖÜäëïöü 当且仅当它们被'字符包围: 范例:'a''e' -> äë 如果from字符串是单个字母。 例如,'AE'根本不改变,照原样输出。 如果源字符不是该字符之外的AEIOUaeiou字符,则不会更改。 注意:from字符/ from字符串是之间的一个'。 测试用例 Input Output <empty line> 'A'sthetik Ästhetik Meinung ist wichtig! Meinung ist wichtig! Ich sagte: "Er sagte: 'Ich habe Hunger'" Ich sagte: "Er sagte: 'Ich habe Hunger'" …
12 code-golf  string 

3
让我们玩捉迷藏吧!
用户将隐藏,计算机将尝试找到它们。 首先,程序将为网格的大小输入一个值。像5x5、10x10、15x15等。网格并不总是完美的正方形。 网格有点像棋盘: _______________________________ | | | | | | | A1 | | | | | A |_____|_____|_____|_____|_____| | | | | | | | | B2 | | | | B |_____|_____|_____|_____|_____| | | | | | | | | | C3 | | | C |_____|_____|_____|_____|_____| | …

18
否定弦
免责声明:这不是我的挑战,但是ThisGuy说我可以发帖。 有时我想在相反的地方说一个字,例如happinessgo unhappiness。不幸的是,发生这种情况时,我的大脑有时会变得一片空白。然后有一天,又发生了这种情况,我心想:“这就是程序的目的!” 由于英语有很多例外,因此我创建了一个列表,其中包含起始字母的前缀 q or h -> dis- (honest -> dishonest) l -> il- (legal -> illegal) m or p -> im- (mature -> immature) r -> ir- (responsible -> irresponsible) everything else -> un- (worthy -> unworthy) 任务 给定输入作为字符串,将字符串设为负数并输出结果。您可以假定所有给定的输入都符合上述规则。提交的内容可能是程序或功能,而不是摘要。 输入值 一个字符串,作为参数或从STDIN中获取 输出量 该字符串的取反形式,符合上述规则 如何取胜 这是一个代码高尔夫球,因此最短的代码胜出
12 code-golf  string 

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.