Questions tagged «code-challenge»

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

7
C:用固定时间代码替换AES FIPS-197 SubBytes表
在FIPS-197(高级加密标准,称为AES)中,大量使用SubBytes,可以将其实现为 unsigned char SubBytes(unsigned char x) { static const unsigned char t[256] = { 0x63,0x7C,0x77,0x7B,0xF2,0x6B,0x6F,0xC5,0x30,0x01,0x67,0x2B,0xFE,0xD7,0xAB,0x76, 0xCA,0x82,0xC9,0x7D,0xFA,0x59,0x47,0xF0,0xAD,0xD4,0xA2,0xAF,0x9C,0xA4,0x72,0xC0, 0xB7,0xFD,0x93,0x26,0x36,0x3F,0xF7,0xCC,0x34,0xA5,0xE5,0xF1,0x71,0xD8,0x31,0x15, 0x04,0xC7,0x23,0xC3,0x18,0x96,0x05,0x9A,0x07,0x12,0x80,0xE2,0xEB,0x27,0xB2,0x75, 0x09,0x83,0x2C,0x1A,0x1B,0x6E,0x5A,0xA0,0x52,0x3B,0xD6,0xB3,0x29,0xE3,0x2F,0x84, 0x53,0xD1,0x00,0xED,0x20,0xFC,0xB1,0x5B,0x6A,0xCB,0xBE,0x39,0x4A,0x4C,0x58,0xCF, 0xD0,0xEF,0xAA,0xFB,0x43,0x4D,0x33,0x85,0x45,0xF9,0x02,0x7F,0x50,0x3C,0x9F,0xA8, 0x51,0xA3,0x40,0x8F,0x92,0x9D,0x38,0xF5,0xBC,0xB6,0xDA,0x21,0x10,0xFF,0xF3,0xD2, 0xCD,0x0C,0x13,0xEC,0x5F,0x97,0x44,0x17,0xC4,0xA7,0x7E,0x3D,0x64,0x5D,0x19,0x73, 0x60,0x81,0x4F,0xDC,0x22,0x2A,0x90,0x88,0x46,0xEE,0xB8,0x14,0xDE,0x5E,0x0B,0xDB, 0xE0,0x32,0x3A,0x0A,0x49,0x06,0x24,0x5C,0xC2,0xD3,0xAC,0x62,0x91,0x95,0xE4,0x79, 0xE7,0xC8,0x37,0x6D,0x8D,0xD5,0x4E,0xA9,0x6C,0x56,0xF4,0xEA,0x65,0x7A,0xAE,0x08, 0xBA,0x78,0x25,0x2E,0x1C,0xA6,0xB4,0xC6,0xE8,0xDD,0x74,0x1F,0x4B,0xBD,0x8B,0x8A, 0x70,0x3E,0xB5,0x66,0x48,0x03,0xF6,0x0E,0x61,0x35,0x57,0xB9,0x86,0xC1,0x1D,0x9E, 0xE1,0xF8,0x98,0x11,0x69,0xD9,0x8E,0x94,0x9B,0x1E,0x87,0xE9,0xCE,0x55,0x28,0xDF, 0x8C,0xA1,0x89,0x0D,0xBF,0xE6,0x42,0x68,0x41,0x99,0x2D,0x0F,0xB0,0x54,0xBB,0x16}; return t[x];} 此函数不是任意的;它是可逆的映射,包括在Galois场中进行反演然后进行仿射变换。所有详细信息均在FIPS-197第5.1.1节或此处的第4.2.1节(名称略有不同)中。 以表的形式实现的一个问题是它容易受到所谓的缓存定时攻击。 因此,您的任务是为显示上述SubBytes()功能的确切功能设计一个精确的替代品;我们假设情况是这样的:不使用任何依赖于输入x的SubBytes内容: 作为数组索引, 作为控制的操作数if,while,for,case,或操作者?:; 由于运营商的任何操作数&&,||,!,==,!=,<,>,<=,>=,*,/,%; 作为运营商的右操作数>>,<<,*=,/=,%=,<<=,>>=。 中奖条目将是具有最低成本,从输入相关的数据路径执行操作符的数量而获得,具有重量的5为一元运算符-和~以及为<<1,>>1,+1,-1; 所有其他运算符的权重为7,与其他计数一起移位或其他常数的加/减(类型转换和提升是免费的)。原则上,通过展开循环(如果有),该成本不会改变,并且与输入无关x。作为决胜局,删除空格和注释后具有最短代码的答案将获胜。 我计划最早在2013年UTC时指定一个条目作为答案。我将考虑用我所了解的语言来回答,将其作为对C的直接翻译(未针对大小进行优化)进行排名。 对于最初被遗漏+1并受其-1青睐的运营商,免费演员和晋升以及规模排名的歉意。请注意,*一元和乘法时都禁止这样做。

17
编写一个在循环字符转换后有效的程序
可能非常困难,但是我已经看到一些令人惊奇的事情从该站点中出现。 目的是用任何语言编写一个可以执行您想要的任何程序。值得注意的是,在字符的任何循环移位之后,程序都必须有效。 圆形字符移是非常类似于一个循环移位。一些例子让我明白了。 对于程序 int main() { return 0; } 向左移动6个字符将产生: in() { return 0; }int ma 向左移动1个字符将产生: nt main() { return 0; }i 向右移动10个字符将产生: eturn 0; }int main() { r 但是,该程序显然不符合规则。 规则 任何语言 获胜者取决于投票数 对于每次旋转执行相同或完全不同的操作的解决方案,将获得100个虚拟上投票给他们的分数。 更新我认为这已经持续了很长时间。得票最多(包括虚拟投票)的获胜者是马克·拜尔斯。做得好!

1
正则表达式验证正则表达式[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 构建一个将接受正则表达式字符串作为输入的正则表达式,并检查其是否有效。基本上,您的正则表达式应该能够验证自己。(任何无效的正则表达式都不应进行验证,因此您不能使用.*。;)) 您的风味必须得到众所周知的实现(Perl,sed,grep,gawk等)的完全支持,并且必须完全支持那些实现所支持的功能。[不用担心律师说话;我只是想消除所有可能导致智能***的漏洞。] 我会对此进行编码,但是我担心它会给那些知道和使用非功能丰富的风味的人带来优势。还是我的担心没有根据?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

5
编写儿童车代码[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 现在是时候炫耀您编写不良代码的能力了。我正在尝试一种新的编程难题,我认为与欠缺C竞赛最相似。主要的区别是这并不那么有害:它只是一些很好的清洁乐趣。难题的目标是将尽可能多的错误打包到一个程序中。这项竞赛的获胜者是每个角色中漏洞最多的程序编写者。 为了避免大量的评论要求澄清,我现在应该定义我认为合格的错误。 首先,错误不是错误。如果是解释器可以将其检测为错误的问题(例如,不匹配的分隔符,格式错误的语法,访问空对象的属性等),或者阻止了程序的执行或继续,则不是一个错误。否则,您可以输入四个字符,解释器可以列出八个语法错误,并且可以声明错误字符比率为2。 其次,该错误一定不能明显是错误的,并且该错误不是复活节彩蛋。这当然是一个主观标准,但我认为对于此类竞赛至关重要。这意味着您不能拥有以明显的方式专门处理代码的条件代码。(阅读:使用图林坑语言,因为没有人会知道其中的区别)。 第三,该错误必须是合理的。就像上面的代码一样,这是主观的,但是该错误必须看起来像是由一个不那么细致的人,或者可能是一个无知的人,或者刚刚犯错的人写的。例如,这包括一字不漏的错误或有效且看起来正确但会导致不良行为的语法(例如,使用方括号而不是括号)。 该错误可能导致程序发生任何形式的不良行为,包括但不限于某些特殊情况下的不良输出,基于看似无关的事物具有不同的行为(例如,输出取决于当前时间是否结束而显示不同) (以奇数或偶数秒为单位),内存泄漏,数据丢失等。 示例问题: 制作一个程序,以其数值的升序显示所有ASCII字符。 示例答案: Brainf ***,5个字符,1个错误,0.2个错误/字符的比率 +[+.] 错误:不显示1的ASCII字符。可以通过更改为来修复.+[.+]。 好的,我想您现在应该已经掌握了,这是您的难题: 解码凯撒密码并按字母顺序对单词排序 通过采用一系列字母并将它们在字母表中移动n个字母来创建凯撒密码。如果一直到字母的开头或结尾,则A在Z之后,Z在A之后。例如: Mannequin Nboofrvjo //Shifted over 1 or -25 Wkxxoaesx //Shifted over 10 -16 Ftggxjnbg //Shifted over -7 or 19 系统将为您提供两个输入(您可以在合理范围内获得输入,但对您而言最方便)。第一个输入是单词,第二个输入是它移过来的值。您的任务是输出已解码的单词,然后按字母顺序对已解码的单词进行输出。 示例(对坏男孩没有冒犯性,这只是一个示例): 首先输入:gtdx wjbfwiji。ljy Gfi hfssty 第二输入:5 …

25
好的老后缀矢量
受到旧手册的启发... 挑战 我定义了一个个后缀矢量的b为长度的布尔列表一个与b尾随truthy值。 写一个程序或功能,给定一个和b通过任何手段,则返回一次的后缀向量b通过任何手段。 现在看似微不足道,但要注意的是:您的分数是字节数加上解决方案可以使用的最早年份。 规则 所有标准规则均适用,但也可以使用在挑战后发布的语言和语言版本。 使用您的语言使用的布尔值的任何表示形式进行输出,例如1/ 0,True/ False,TRUE/ FALSE,"True"/ "False"等。 使用列表,你的语言使用,例如任何代表输出0 0 1,[False,False,True],(FALSE;FALSE;TRUE),{"False","False","True"},等。 你可以假设一个 ≥ b始终是真实的,他们是合适的数据类型。 测试用例 给定a = 7和b = 3,返回0 0 0 0 1 1 1 给定a = 4和b = 4,返回[True,True,True,True] 给定a = 2和b = 0,返回(FALSE;FALSE) 给定a = 0和b = 0,返回{} 示例解决方案和评分 我可能想{⌽⍺↑⍵⍴1}使用Dyalog APL 提交解决方案。那将是8的字节数。这是一个动态函数,可以在1998年发布的Dyalog APL …

2
单行中最多违反PEP8的次数
您的任务是编写一个文件,其中包含许多违反pep8的行为。 规则: 我们使用pep8 1.5.7版和默认设置。 不允许使用其他命令行选项或使用自定义rc文件调用pep8。 最大行长为120个字符。您可以违反E501,但是计算分数的行必须小于或等于120个字符。 您的模块可以在前面或后面有其他行,但是只有一行会影响您的分数。 您的文件可以包含SyntaxErrors或任何类型的垃圾,无需导入或运行。 评分示例: 以下模块thing.py的得分为2,因为它包含带有2个pep8违规的行(第1行)。 spam='potato' 要检查分数: ~$ mktmpenv (tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pip install pep8==1.5.7 (tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ echo -n "spam='potato'" > thing.py (tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pep8 thing.py thing.py:1:5: E225 missing whitespace around operator thing.py:1:14: W292 no newline at end of file

2
具有自由n-多胺基的n X n正方形的不同平铺数目
几分钟前刚刚发布了最新的“不错的” OEIS序列A328020。 带有自由n-多胺基的n X n正方形的不同平铺数目。 此序列将平铺计数到正方形的对称性。该序列有六个术语,但是我想看看这里的人是否可以进一步扩展它。 例 因为n=4有22个这样的网格,如OEIS的此图所示。 图片来源:Jeff Bowermaster,A328020(4)插图。 挑战 像之前的挑战一样,此挑战的目标是按此顺序计算尽可能多的项,该项开始1, 1, 2, 22, 515, 56734于第n个项,即具有n个多氨基酸的n X n网格的平铺数。 只要您愿意,就可以运行您的代码。挑战的胜者将是发布序列中最多术语的用户,以及生成该序列的代码的用户。如果两个用户发布相同数量的条款,则以最早发布最后一个条款的人为准。

3
从三角形阵列中删除点而不会丢失三角形
我想提出OEIS方面的组合问题 -问题是我没有足够的用语。此代码挑战是帮助我计算更多的术语,而提交者中包含最多术语的用户将是赢家。 问题 假设我给你一个三角形的灯泡,边长为nnn: o o o o o o o o o o o o o o o o o o o o o 1 2 ... n 我将打开三个灯泡,这些灯泡形成一个“直立”等边三角形,如以下示例所示: o o x o o o o o o o o x o o x o o o o o …

3
编写一个程序,当它向ASCII字母上移N次后,总是打印N
仅使用无需输入的可打印ASCII字符编写程序。作为参考,这是按顺序排列的95个可打印ASCII字符: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 当您的程序运行时,它应该打印0(加上可选的尾随换行符)到stdout,然后正常终止。 当你的程序中的每个字符由字符N空间所取代其在打印的ASCII权,从各地循环~空间,所产生的打印的ASCII字符串将理想是,它没有输入和输出n相同的语言编写的程序可运行(加(可选的尾随换行符)到stdout,然后正常终止,对于N = 1到94。 例如,如果您的原始程序是 @Cat~(88 !) 运行它应该输出0并将所有字符按可打印的ASCII比例上移一位 ADbu )99!"* 应该导致另一个程序输出1。再次执行此操作将理想地导致另一个程序输出2 BEcv!*::"#+ 以此类推,直到3和4等,直到移动94次 ?B`s}'77~ ( 理想情况下是输出的程序94。 令人欣慰的是,这只是理想的行为。您的程序及其94个派生程序并不需要全部工作,但是从一开始就连续执行越多越好。(不起作用的程序可能有任何行为。) 计分 您的分数是指从有效的原始程序(输出的程序)开始的连续程序的数量0,即正确输出其相应的N。得分最高(最多95)的答案将获胜。如果有平局,则以字节为单位的最短程序获胜。 例如,如果@Cat~(88 !)输出0和ADbu )99!"*输出1,但BEcv!*::"#+误码,那么你的得分将是2。这是2,即使?B`s}'77~ (准确地输出94,并且即使所有N =方案30至40的工作。仅计算从零开始的连续工作程序数。 笔记 为了避免潜在的争用和漏洞,竞争性答案必须以十进制形式输出其数字,且没有前导零或符号或小数点(即普通0 1 2... 94)。 允许使用使用不同基数或数字格式的语言,但不具备获胜的资格。 可选的尾随换行符的存在不必在各个程序之间保持一致。 不允许使用功能和REPL命令,只能使用完整程序。

7
写出最长周期为500字节的迭代奎因
您的工作是创建最长周期的迭代quine,其中序列中每个程序的长度以500字节为界。 也就是说,如果重复以下步骤: 从您的初始程序开始 运行当前程序 返回步骤2 您最终将回到原始程序。循环中的程序数量就是您的分数,您正尝试将其最大化。 这些程序都不会引发任何错误。每个程序也必须以相同的方式运行(例如,没有不同的版本,实现,编译器选项,平台等)(编辑:是的,最后一个包括任何外部状态,例如伪随机数生成器的外部状态)语句。每次运行后都必须“重置”外部状态。如果您使用的是真正的随机数,则以最坏的情况为准。) 将此挑战与最长周期的迭代方法(除了100与500)不同的是,循环中的每个程序也必须等于或小于500字节。这意味着最长的周期为(256 ^ 501-1)/ 255或更小。当然,这是一个很大的数字,但是就计算所需的代码量而言,并不是那么大。因此,挑战是要尽可能多地使用(256 ^ 501-1)/ 255个可能性,而不是忙碌的海狸挑战。 程序不得访问其自己的源代码。但是,如果需要,可以允许使用空程序(只要遵循其他规则)。 由于手动检查程序很困难,因此您可以使用理论方法计算出分数。您必须在程序中包含分数和正确性的说明。如果您无法计算出分数,则可以使用循环中程序数量的下限作为实际分数。当您找到更好的下限时,或者如果您找到确切的实际分数,则可以更新此内容。 这是代码挑战,因此得分最高! 编辑:建议您用科学计数法写下您的分数,以使答案更容易比较。也可以使用其他形式的乐谱,这尤其好,尤其是如果它们更清楚地与您的程序相关联时。此外,鼓励读者编辑以前的答案以符合此要求。

1
优化一维键盘上的滑动
这是具有自定义评分系统的代码挑战,评分最低者获胜。 介绍 许多智能手机允许通过在2D虚拟键盘上滑动手指来输入文本。该技术通常与预测算法结合,该预测算法输出从最可能到最不可能排序的猜词列表。 在这个挑战中: 我们将在仅限于26个字母的子集的一维键盘上滑动。 不会有预测算法:我们希望每个单词都通过其“滑动顺序”来唯一标识。 我们希望对键盘进行优化,以使给定单词列表的移动总数最小化。 一维扫动 以下是按字母顺序排序的一维键盘,其中包含所有字母: ABCDEFGHIJKLMNOPQRSTUVWXYZ 注意:如果您是通过手机浏览的,则可能显示在多行上。请认为它是单行。 要在这样的键盘上输入单词“ GOLF ”,我们将: 开始于 G 向右滑动至 O 向左滑动 F 因为L位于O和之间F,所以我们只是继续刷卡而不停在那。 因此,此键盘上的“ GOLF ” 滑动顺序为GOF。 更普遍: 始终包含首字母和尾字母。 当且仅当紧随其后需要换向时,才包括其他字母。 重复字母必须与单个字母一样对待。例如,在上面的键盘上: “ LOOP ”将被编码为LP(不停止O) “ GOOFY ”将被编码为GOFY(O之所以包含在内,是因为那里的方向发生了变化-并不是因为它被加倍了) 键盘优化 让我们考虑以下单词列表:[' PROGRAMMING ',' PUZZLES ',' AND ',' CODE ',' GOLF ']。 我们需要16个不同的字母来键入这些单词,因此我们只需要一个16个字母的键盘即可。以下是-再次-按字典顺序排序: ACDEFGILMNOPRSUZ 使用此键盘,单词将以这种方式编码: …

1
最大化数独国王之旅
背景 数独是一个数字难题,如果将n × nñ×ñ n \times n 网格划分为大小为ññ n 框,则1个1个 1 到ññ n 每个数字应在每一行,每一列和每个框中精确地出现一次。 在国际象棋游戏中,国王可以轮流移动(最多)8个相邻单元中的任何一个。“相邻”在这里是指水平,垂直或对角线相邻。 在国王的巡演是骑士旅行的比喻; 这是一条(可能是开放的)路径,通过国际象棋王的动作,可以在给定的板上精确地访问每个单元一次。 任务 考虑一个6乘6的数独网格: 654 | 321 123 | 654 ----+---- 462 | 135 315 | 246 ----+---- 536 | 412 241 | 563 和国王之旅(从01到36): 01 02 03 | 34 35 36 31 32 33 …

2
魔方排序矩阵(又称圆环拼图)
这种代码挑战的想法很简单:给定整数矩阵,让我们通过应用Rubik风格的移动对其进行排序。这意味着您可以选择单个行或列,并向任意方向旋转其元素: [1, 3, 2, 4] => [3, 2, 4, 1] (rotate left for rows/up for columns) [1, 3, 2, 4] => [4, 1, 3, 2] (rotate right for rows/down for columns) 因此,给定任意维度的整数矩阵,仅应用这些Rubik样式的转换对其元素进行排序。矩阵 ⎡⎣⎢一种11一种21一种31一种12一种22一种32一种13一种23一种33一种14一种24一种34⎤⎦⎥[一种11一种12一种13一种14一种21一种22一种23一种24一种31一种32一种33一种34] \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ …

1
Google的跳兔
2017年12月4日,Google Doodle是一款具有兔子功能的图形编程游戏。后来的级别相当重要,它们似乎是原子高尔夫球挑战的绝佳候选人。 细节 游戏 有四种可用的动作:向前跳,向左转,向右转和循环。这些动作中的每一个都是一个令牌,对应于它们在游戏中都是一个图块这一事实。 兔子可以面对四个正交方向(即北,南,东,西)。 兔子可以向前跳(在其面对的方向上移动一个正方形)并向左或向右转。 循环内部可能有任意数量的其他移动,包括其他循环,并且它们的迭代计数是任何正整数(尽管从技术上讲,游戏允许迭代计数为0)。 棋盘是一组网格对齐的正方形,并且兔子可以在相邻的正方形之间跳跃。 兔子无法跳入虚空。意味着企图跳板没有任何作用。(这显然使某些人感到惊讶,而另一些人则感到失望。) 正方形已标记或未标记。当兔子在正方形上时,它会被标记。 标记所有正方形后,该级别完成。 您可能会认为存在解决方案。 您的密码 目标:给定董事会,找到一个或多个最短的解决方案。 输入是构成木板的正方形位置的列表(区分标记的正方形和未标记的正方形),输出是移动的列表。输入和输出格式完全无关紧要,只要它们是人类可读和可理解的即可。 获胜标准:每块板在一分钟内找到的最短解决方案的移动总数。如果您的程序找不到任何特定板的解决方案,则该板的分数为(5 *平方数)。 请不要以任何方式对解决方案进行硬编码。您的代码应该能够将任何面板作为输入,而不仅仅是下面示例中给出的面板。 例子 解决方案隐藏在剧透中,使您有机会先玩游戏,然后自己尝试其中的一些。另外,下面仅针对每个提供一种解决方案。 S是兔子的起始正方形(朝东),#是未标记的正方形,并且O是标记的正方形。对于移动,我的表示法是F=向前跳,L=向左转,R=向右转,并LOOP(<num>){<moves>}表示一个循环,每次循环<num>执行<moves>。如果循环可以运行超过最小次数的任何次数,<num>则可以忽略(即无限工作)。 1级: S## FF 第2级: S## # # LOOP(2){FFR} 3级: S## # # ### 循环{FFR} 第4级: ### # # ##S## # # ### LOOP {F LOOP(7){FL}}(由DJMcMayhem找到) 5级: ##### # …

2
鸣叫中的二进制俄罗斯方块
最近(几年前),编程 网站上出现了一些有关以140 Bytes实现俄罗斯方块的嗡嗡声。... 事实证明,尽管它很小,但它是Tetris的简化版本,甚至不是完整的实现。只有核心逻辑功能适合140字节的Javascript。要实际运行它,您还需要约840个HTML字符。 我们可以做得更好! 面临的挑战是在尽可能少的推文中实现完整版本的“二进制俄罗斯方块”。 二进制俄罗斯方块规则: 程序必须显示至少包含5列和6行单元格的运动场。 可以使用任何显示方法,只要清楚地标记了区域的块和边缘即可。 至少必须有两种类型的块: #和##。其他块支持,例如###:P或形状像L的角度块之类的将被我:P投票,最完整的二元俄罗斯方块游戏(大多数块如原始和旋转功能)将赢得我的幸福,并可能获得50 rep奖励。 新块将添加到第一行的字段中,并且一个块单元必须占据中心列。 方块以固定的速率朝底行下降。即使没有用户输入,块也必须下降。 当砖块碰到场地底部或下部砖块时,它们会停止下降并固定到位。添加了一个新块。 当该行中的所有列都填充有块时,该行将被清空,并且上方的所有固定块将下拉一行。 该程序必须响应按键。必须有3个唯一的键才能执行以下功能 将当前块左移1列 将当前块右移1列 将当前块向下移动1行 每条推文只能包含140个字符。允许使用可以放在推文中的多字节字符。 一条推文中的规则很简单。如果可以鸣叫,则可以使用它。 口译语言遵循相同的规则。每个部分都必须遵循规范。只要没有发生运行时错误(其余错误均符合规范),您的答案就是有效的 Golfing规则: 由于原始实现是“可发推的”,因此这一挑战也需要同样的条件。条目必须能够以一系列推文(每行140个字符或更少)的形式发送。 第一条推文必须包含编译器/解释器的名称,程序的名称以及任何命令行参数 它将保存为文件“ P0” 以下N条推文必须将该程序包含为一系列行。 每个推文将存储在名称为T <n>的文件中,其中n为1..N 每行都将添加到前面的行中并进行编译或解释。它必须产生一个有效的目标文件或程序。 在添加最后一行之前,该程序无需运行。 该程序将以以下方式运行(伪bash) interp,prog,args = split P0 /\s/ touch $prog for file in ./T* do cat $prog file > …

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.