Questions tagged «code-golf»

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

1
有效迷宫数
给定一个WxH网格,有多少种可能的迷宫? 您对迷宫的了解: 网格正好是H正方形,W正方形是正方形。 共有三种类型的正方形:“开始”,“完成”和“空”。迷宫必须正好包含1个开始点和1个结束点,所有剩余的方块均为空。 整个迷宫周围都有墙壁。 除非违反以下规则,否则墙可以存在于任意两个正方形之间的边缘上: 从开始方块到完成方块必须存在一条路径。 因此,给定两个数字W和H,您必须返回一个数字,代表可能的正方形/墙壁配置的数目。您保证W*H > 1 例如,2x2迷宫具有完全100不同的可能配置。 这是一个代码高尔夫球,所以最短的答案是成功的!

5
在数字键盘附近生成概率
受到今天早些时候提出的这个问题的启发,我希望看到各种编程语言将小键盘变成概率的有趣方式。通常,基于图块的游戏将允许您使用数字键盘根据角色当前所在的位置向任何方向移动。当为这些游戏制作AI时,Math.random() * 8还远远不够,所以我必须要有一点创造力,使机芯的外观和感觉更加自然。 小键盘的定义如下: 7 | 8 | 9 - - - - - 4 | x | 6 - - - - - 1 | 2 | 3 请注意,5是无效数字,因为您无法继续前进。 所有示例将使用以下概率: [50, 40, 30, 20, 10] 如果我想在周围生成概率8,则看起来像这样: 40 | 50 | 40 -- | -- | -- 30 | xx …
12 code-golf 

1
检查单身麻将的手牌值
麻将是一款在亚洲非常受欢迎的瓷砖游戏。它通常由四个玩家玩,并且游戏的目标是成为第一个使用磁砖完成有效手牌的人。在麻将中,有三副牌服和荣誉牌-对于这一挑战,我们将仅考虑使用来自单个牌服的牌形成的手。 磁贴从编号1到9,每个磁贴正好有四个副本。有效手牌由四组组成,每组三组,每组一对,共14张。 三个一组可以是: 一个三元组,三个相同的图块(例如444),或 三个连续图块的序列(例如123,678但不是357)。序列不换行(因此912无效)。 一对只是两个相同的图块(例如55)。 挑战 给定有效手牌数为14张,请根据以下条件确定其得分: Condition Description Point/s ------------------------------------------------------------------------------- Straight Contains the sequences 123 456 789 1 Identical sequences Contains two identical sequences 1 All simples Only 2-8, no 1s or 9s 1 All sequences All sets of three are sequences 1 All triplets All sets of …
12 code-golf  game 

3
检查是否有同构子串
这个问题是“ 检查单词是否同构”的扩展, 并将其第一部分复制以给出同构的定义。 两个词是同构,如果他们有字母重复相同的模式。例如,两个ESTATE和DUELED都有模式abcdca ESTATE DUELED abcdca 因为字母1和6相同,所以字母3和5相同,仅此而已。这也意味着单词由替换密码(此处与match)相关E <-> D, S <-> U, T <-> E, A <-> L。 给定两个字符串X和Y,且X的长度不超过Y,任务是确定是否存在Y的子字符串,该子字符串与X同构。 输入: a..zA..Z的两个非空字母字符串,每行一个字符串。这将来自标准输入。 输出第二个字符串的子字符串,如果存在则与第一个字符串同形。否则输出“否!”。 规则您的代码必须在输入的总长度内线性运行。 分数分数是代码中的字节数。最少的字节数获胜。 输入和输出示例 adca ddaddabdaabbcc dabd 小费 对于这个问题,至少有一个不是那么复杂,实际上是快速且线性的时间解决方案。
12 code-golf 

7
离子复合高尔夫
挑战 给定两个输入,一个正离子和一个负离子,您必须输出由两个离子组成的离子化合物的分子式。这基本上意味着平衡电荷,使它们等于零。 不必理会用下标数字设置公式的格式,但必须为多原子离子(例如NO3)加上括号。 您不必考虑任何错误(例如,如果有人输入两个负离子,则可以让程序失败)。 注意:带Fe的电荷为3+ 离子 在AQA GCSE化学数据表的第二部分中找到了所有需要考虑的离子及其电荷。 正离子 高+ 钠+ 银+ K + 李+ NH 4 + 钡2+ 钙2+ 铜2+ 镁2+ 锌2+ 铅2+ 铁3+ 铝3+ 负离子 氯- 溴- ˚F - 我- OH - NO 3 - O 2 小号2- SO 4 2 二氧化碳3 2- 例子 一些例子: H和O返回:H2O Ca和CO 3返回:CaCO3 …

6
ASCII三角波纹
好吧,我的第一个高尔夫问题。请轻柔:)我知道可能有太多的ascii难题:P,但是我们开始吧。 任务很简单,使用您喜欢的编程语言来打印三角形波纹。输入应为纹波的大小。 每个三角形均等间隔。基本上,您一直在添加三角形,直到没有足够的空间容纳最小的三角形。 只要波纹与示例相同且大小正确,就可以在任意位置使用空白。 例 q)g 1 __ \/ q)g 2 ____ \ / \/ q)g 3 ______ \ / \ / \/ q)g 4 ________ \ __ / \ \/ / \ / \/ q)g 5 __________ \ ____ / \ \ / / \ \/ / \ / …

2
查找最短的Swype路径
介绍 最近,我已经习惯于使用Swype打字。 我注意到可以通过从起始字母到结束字母画一条直线,或者跳过重复的字母来产生某些单词。 例如,我可以balloon通过扫过以下字母来输入单词: b> a> l> o> n。 挑战 让我们将“ 最短Swype路径”(或)定义SSP为键入字符串所需的最小可区分线段数。线段是任意两个或多个字母之间的连续直线。方向的任何变化都会开始一个新的线段-尽管某些单词可能仅通过绘制一条直线而被Swyped。 使用以下简单的QWERTY键盘布局: q w e r t y u i o p a s d f g h j k l z x c v b n m 在上面的示例中,单词balloon将具有SSP,4如以下序列中所述: 1) Start at `b` (line segments = 0) 2) slide …
12 code-golf 

5
每天的ASCII艺术#4-黄道十二宫
我们都喜欢星座,不是吗?但是我在智能手机上安装的此星座应用程序中存在一个严重问题,即它仅显示每天星座运势的十二生肖图标。现在,我确实记得我的星座运势,但是很难记住我感兴趣的其他人的星座运势。 挑战 因此,这是您对“ ASCII每日艺术”系列的又一个补充的挑战。输入日期和月份后,以ASCII格式输出相应的星座,如下所示。每个十二生肖后面都有十二生肖的名称和日期范围(DD MM格式)。 Aries - 21 03 - 20 04 .-. .-. (_ \ / _) | | Taurus - 21 04 - 20 05 . . '.___.' .' '. : : : : '.___.' Gemini - 21 05 - 20 06 ._____. | | | | _|_|_ …

8
源代码中的字符计数
编写一个程序,输出在其源代码中每个唯一字符出现次数的列表。 例如,此假设程序{Source_Print_1};应产生以下输出: ; 1 P 1 S 1 _ 2 c 1 e 1 i 1 n 1 o 1 p 1 r 2 t 1 u 1 { 1 } 1 格式应与此示例匹配。除可选的最终换行符外,不允许使用多余的空格。 您的程序可能无法从源文件中读取其自己的源代码。 列出的字符必须是两个顺序之一。语言使用的字符编码中的字符值顺序(可能是ASCII),或者字符在源中出现的顺序。 这个问题受到Jan Dvorak的评论的启发。
12 code-golf  quine 

16
转换字符串中的字符
在此挑战中,您需要将输入字符串中的字符移位n次并输出移位后的字符串 输入值 输入将首先包含一个字符串。在下一行中,将显示一个整数,它表示n。 输出量 如果n为正,则将字符串中的字符移至正确的n时间。 如果n为负,则将字符串中的字符向左移动n一次。 如果n为零,请不要移动字符串中的字符。 移位后(n零时除外),打印移位后的字符串。 笔记 该字符串将不会为空或null。 该字符串不得超过100个字符,并且只能包含(空格)至~(波浪号)范围内的ASCII字符(字符代码0x20至0x7E(包括0x20至0x7E))。请参阅ASCII表以获取参考。 该转变是周期性的。 该数字n可以是正数,负数或零。 n 始终大于或等于-1000且小于或等于1000 您可以通过stdin命令行参数或通过命令行参数进行输入 移位后的字符串必须以stdout(或最接近的等价形式)输出 您可以编写一个完整的程序或一个函数,该函数或函数接受输入并以stdout与最接近的等效字符串输出 测试用例 1) Hello world! 5 -->orld!Hello w 2) Testing... -3 -->ting...Tes 3) ~~~ 1000 -->~~~ 4) 12345 0 -->12345 5) ABA 17 -->BAA 计分 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。
12 code-golf  string 

3
书架上的书
我有一些书和一个书架。我想尽可能多地在书架上放书,但是我有一个规则。书籍的所有尺寸(高度,宽度和深度)应在书架上形成不增加的顺序。 这就是说,每本书必须至少与书本上的书本一样高。宽度和深度也一样。您不能旋转书籍以交换它们的高度,宽度和深度。 您应该编写一个程序或函数,该程序或函数给出所有书籍的尺寸作为输入输出,或者返回我可以放在架子上的最大书籍数量。 输入值 正整数的三元组列表,其中每个三元组定义一本书的高度,宽度和深度。 输入列表中至少会有一个三元组。 两本书可以沿任意多个维度具有相同的长度。 输出量 一个正整数,表示服从该规则的书架上可容纳的最大书籍数量。 时间复杂度 您的算法应该在书本数量上具有最坏情况的时间复杂度多项式。这意味着,例如以下时间复杂度均有效:O(N ^ 3),O(log(N)* N ^ 2),O(N)和以下无效:O(2 ^ N), O(N!),O(N ^ N)。 例子 输入=>输出 (1, 1, 1) => 1 (5, 2, 5), (1, 3, 5) => 1 (5, 2, 5), (1, 2, 5) => 2 (2, 2, 2), (2, 2, 2), …

20
加密哈希高尔夫(强盗)
比赛结束了。 警察挑战中没有剩余的可靠答案。 加密哈希高尔夫的同伴线程 提醒一下,这是针对主要挑战的强盗规则: 任务 通过在强盗的线程中张贴以下内容来破解任何警察的提交:I中的两个消息M和N,使得 H(M)= H(N)和M≠N。 计分 破解每个警察提交的内容可以使您获得1分。得分最高的强盗获胜。 如果是平局,则破解最长提交的并列强盗获胜。 附加规则 每次提交的警察只能被破解一次。 如果警察提交依赖于实现定义的行为或未定义的行为,则只需要找到在计算机上有效(可验证)的破解即可。 每个破解都属于强盗线程中的一个单独答案。 发布无效的破解尝试会禁止您破解特定的提交文件30分钟。 您可能无法破解自己的提交。 例 Python 2.7,user8675309的22个字节 1 和 18 排行榜 电子商务:3个裂缝,393个字节 MartinBüttner:3个裂缝,299字节 jimmy23013:3个裂缝,161个字节 Sp3000:3个裂缝,44个字节 tucuxi:2个裂缝,239个字节 六。:2个裂缝,87字节 feersum:1个裂纹,216个字节 mathmandan:1个破解,139个字节 吱吱作响的ossifrage:1裂纹,134字节

4
乘以Pauli矩阵
该泡利矩阵是一组其在量子物理学非常普遍出现的2x2矩阵(不,你不需要知道这个挑战任何量子物理)。如果我们在集合中包括身份,则四个矩阵为: σ0 = σ1 = σ2 = σ3 = [1 0] [0 1] [0 -i] [1 0] [0 1] [1 0] [i 0] [0 -1] 乘以二这些将永远给另一个保利矩阵,尽管它可以通过复杂的阶段之一相乘1,i,-1,-i。例如,。σ1σ3 = -iσ2 您的任务是将多个Pauli矩阵相乘并返回结果矩阵和相位。输入将被给定为数字的非空字符串0到3表示矩阵来。输出应该含有单个数字迭代矩阵的字符串,任选地被前面,或者以指示相(是)。σ0σ3i--i--1 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 您不得使用任何与Pauli矩阵相关的内置(或第三方)功能。 这是代码高尔夫球,最短的答案(以字节为单位)获胜。 测试用例 1 => 1 13 => -i2 000 => 0 123 => i0 03022 => 3 02132230 => …

3
做个差不多
我想给他一个愚弄的朋友奎因说几乎工作,但变得更模糊和更模糊。 创建一个程序,该程序在运行时将输出该程序,但只输出一个字符。可以添加,删除一个字符或同时添加两个字符(更改一个字符)。但是只有一个字符。 您的分数将是(length of your program) / floor(sqrt(number of times the program almost quines))(/ 0无穷大) number of times the program almost quines是程序在标准输出中只更改一个字符时运行的次数。您的程序可能不接受输入。它还可能不打印已经打印的程序。 您也可能不会添加以前添加的字符,也可能不会从同一索引中删除字符。例如,如果您之前添加1过,然后1又添加了,那么这就是number of times the program almost quines停止的地方。如果删除第一个字符,则不能再次删除第一个字符。如果将第三个字符更改为2,则不能添加2或删除第三个字符。
12 code-golf  quine 

3
这个词是女性还是男性?
写一个程序或函数,它在一个字符串只包含小写字母AZ,并打印或返回truthy值,如果这个词是女性的它所代表的事物和版本falsy值,如果它是阳刚的版本。例如,hen是鸡肉的女性版本和rooster男性的版本,因此hen可能会产生1并rooster可能产生0。 对于所有反映性别的英语单词这样做当然太笨拙了。您的程序/功能仅需要支持20对男性/女性对。以下是按主题分类的五组,每组10对男性/女性。选择其中两个集合;这两组中的20对总数是您的程序/功能必须使用的40个单词。 (格式为masculine_version feminine_version) 一般 he she him her man woman boy girl male female masculine feminine guy gal lad lass mister miss sir madam 家族式 father mother dad mom pa ma son daughter brother sister husband wife grandfather grandmother grandpa grandma uncle aunt nephew niece 动物 lion lioness rooster …

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.