Questions tagged «source-layout»

对于涉及源代码的物理布局或物理处理的挑战。

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

7
行,列,对角线,块
为某个正整数N编写一个正方形的代码块,该代码块的宽度为N个字符,高度为N个字符。 例如,您的N可能为5,该块如下所示: ThisI sMy5B y5Cod eBloc kOkay 该块的行为如下: 提取第一行并作为程序运行时,row需要将准确的文本打印到stdout。 例如,ThisI将打印row。 提取左列并作为程序运行时,col需要将准确的文本打印到stdout。 例如,Tsyek将打印col。 从左上角到右下角的主要对角线被提取并作为程序运行时,dia需要将准确的文本打印到stdout。 例如,TMCoy将打印dia。 当整个块作为程序运行时,包括换行符(带有可选的尾随换行符),blk需要将确切的文本打印到stdout。 例如, ThisI sMy5B y5Cod eBloc kOkay 将打印blk。 细节 所有四个程序都以相同的编程语言运行。 原始块中的N 2个字符可能不是行终止符。 如果您的语言没有标准输出,则可以使用另一种常见的输出方法。所有四个程序的方法都必须相同。 提交的原始块包含最少的不同字符(不包括换行符),则获胜。决胜局以较小的N进入提交。

21
最长递增子串
给定一个正整数列表,编写代码以找到不断增加的最长连续子列表的长度(并非严格如此)。那是最长的子列表,因此每个元素都大于或等于最后一个。 例如,如果输入是: [ 1 ,1 ,2 ,1 ,1 ,4 ,5 ,3 ,2 ,1 ,1 ][1,1,2,1,1,4,5,3,2,1,1][1,1,2,1,1,4,5,3,2,1,1] 增长子列表将是,因此您将输出。[ 1 ,1 ,4 ,5 ][1,1,4,5][1,1,4,5]444 通过将其来源作为字节列表,然后找到该列表中最长的递增子列表的长度,可以对您的答案进行评分。得分较低是目标。为了减少总字节数较少的程序,打破了联系。

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

21
顺序乘法
您的目标是编写一个接受输入的程序,并在将其链接在一起时N执行“顺序乘法”。您可能会问,什么是顺序乘法?这是一个序列,其种子a定义如下: f(0) = a f(n+1) = f(n)*(f(n)-1) 因此,让a = 5。因此,f(0) = 5,f(1) = f(0)*(f(0)-1) = 5*4 = 20,和f(2) = f(1)*(f(1)-1) = 20*19 = 380。 如果您的程序是ABC,则ABC应该接受输入a和输出f(1)。程序ABCABC应该输出f(2),等等。您的程序系列应该只输入一次,只输出一次。 这是一个代码高尔夫球,因此以字节为单位的最短程序获胜。禁止出现标准漏洞。

1
编写代码滑动拼图!
最可识别的滑动拼图是十五个拼图。它具有4 x 4网格,15个图块和一个空白网格空间。磁贴只能移动到空白区域,并且必须始终与网格对齐。 让我们定义一个广义的滑动拼图,它是一个二维的W宽度,高为H个高网格(W,H均为正整数),其中包含一些相同的未标记图块(在0到W × H之间),对齐到网格,排列为任何方式(不重叠),用空的网格空间填充其余区域。 例如,如果W和H为3,并且图块为T,并且空白处E为许多可能的侧板拼图布置之一,则 TTT TET EET 对于这些难题,有4种可能的举动:将所有事物推高,将所有事物推低,将所有事物推向左侧或将所有事物推向正确。沿某个方向“平移”会使所有图块尽可能沿该方向移动,直到它们碰到另一个图块或网格边界为止。有时推不会改变网格的布局, 如果将示例网格向右推,则结果为 TTT ETT EET 向左推的结果是 TTT TTE TEE 推倒结果是 EET TET TTT (请注意,最左边T的都已移动) 在这种情况下,推挤不会改变网格布局。 请注意,由于图块是无法区分的,因此这些难题没有“已解决”状态。还要注意,难题可能始于一旦做出推就不可能回到的布局(例如,在3 x 3网格中间的一个图块)。 挑战 仅使用可打印的ASCII编写两个矩形代码块,宽度均为M个字符,高度为N个字符(对于任何正整数M,N)。一个代码块将代表一个滑动拼图块,另一个代码块将代表一个空的网格空间。 将这两个代码块排列成W by H网格将创建一个代码表示的滑动拼图,该拼图可以保存为文本文件并作为常规程序运行。在运行时,此类程序应通过stdin提示用户输入1到4之间的数字;1表示向上,2表示向下,3表示左侧,4表示右侧。当用户键入他们的编号并按回车键时,程序将计算如何向该方向推其源代码图块,并将新的拼图布局保存到文件(新文件或同一文件)中,然后终止。 每次推后生成的新的滑动拼图代码文件都可以无限期地重复此过程。 例 假设我的图块代码块看起来像这样 // my // tile 我的空网格空间代码块看起来像这样 //empty //space (M = 7,N = 2,这当然不是实际代码) 这两个模块的任何有效的滑动拼图布置都应该以我使用的语言创建一个程序,该程序可以运行以使用户朝某个方向推。 示例网格的代码表示为: …

1
打高尔夫球用不同的语言的一些奎尼条纹
您将选择m种语言,并用每种语言编写n个程序,每个程序的长度为n * m。第k个程序应按程序号输出每个程序的第k个字符。 例如,在此提交中(仅用于演示;它们可以是任何字符,包括换行符和制表符): ABC DEF GHI 计划ABC应输出ADG,以及程序DEF和GHI应该输出BEH和CFI分别。 列表中的所有程序都不能是普通的quine。因此ABC,ADG必须有所不同。其他两个程序也一样。注意,n * m必须至少为2才能使之成为可能。 您不必按特定顺序使用语言。因此,您可以用语言A写两个程序,然后用语言B写三个程序,然后再用语言A写另一个程序。但是所有语言必须使用完全相同的次数。 程序和输出中的前导/尾随换行符无关紧要。 最低n(m + 10)/ m 3的答案获胜。但是,如果大多数语言使用了至少3种语言,我还将奖励至少+100悬赏。赏金截止日期:一周没有改善或2015年3月1日,如果没有答案满足标准。 语言规则 您可以使用任何具有不同名称的语言或通常被认为足够不同的不同版本(例如Python 2/3,ECMAScript 5/6)。但是您的程序不得以您使用的任何其他语言输出完全相同的东西。

5
反转您的代码,反转OEIS
这里的任务是编写一个程序,该程序采用自然数ññn并产生OEIS序列的第个项。该序列应具有后跟6位数字的形式的标识符。现在,当您获取源代码并反转其字节顺序以生成新程序时,该程序还应实现OEIS序列。新序列应由后跟与上次相同的6位数字标识,但顺序相反(包括前导零)。ññnAA 现在,为了避免琐碎事情,OEIS标识符号或程序都不能成为回文。也就是说顺序和程序应该不同。您不能选择一个反向序列不存在或为空的序列。 对于每个序列,您可以选择使用0或1索引。他们不必使用相同的索引。由于某些OEIS序列的域有限,因此您只需要为序列的域输出正确的数字即可。您需要的行为在域外是不确定的(您可以输出0,崩溃,订购比萨饼等)。 这是代码高尔夫球,因此答案将以字节计分,而字节越少越好。

9
每个人都应该有一个朋友
孤立字符是没有相邻字符的相同类型的字符(除了换行符)。相邻字符可以在左侧,右侧上方或下方,但不能在对角线处。例如下面的文本H是孤立的: Ybb YH% %%%% 所有其他字符不是孤立的,因为它们每个都至少有一个相邻的相同类型的其他字符。 您的任务是编写一个将字符串作为输入并确定独立字符数的程序。 计分 您的答案将由两个指标评分。第一个是程序中孤立字符的数量。您应该力图将其最小化。第二个将是程序中的字节数。您也应该最小化它。程序大小将成为第一个条件的决胜局。 附加规则 您应该支持可打印的ascii范围的输入以及程序中使用的所有字符。 您可能认为换行符是换行符或换行符后跟换行符。 您可以采用任何合理的格式输入。这包括行列表。 测试用例 Ybb YH% %%%% 1个11 Aaaab uuu yyybbb 222 A 1个11 qqWWaaww 000

2
正确和可截短的素数
可右截断的素数是素数,其中每个前缀都是素数(以10为底)。可向左截短的素数正好相反,其中每个后缀都是素数(不允许以0开头的素数)。这两个序列都是有限的(只有83个右切线,而有4260个左切线)。 您需要编写一个接受单个数字作为输入并生成第n个可右截断的质数的程序。但是,当程序以向后排列的方式读取时,它将产生第n个可左截断的素数。 为了向后排列程序,我们将程序拆分为单词,然后反转单词的顺序。一个单词可以包含任意数量的字符。 例如,如果以下是您的程序: hello world 1234567890 尽可能允许以下所有安排: 分割每个字符: 0987654321 dlrow olleh 在空白处分割: 1234567890 world hello 任意分割(为清楚起见添加了管道): hel|lo w|orld 1|23456|7|8|90 908723456orld 1lo whel 向后排列程序时,必须像对待其他字符一样考虑并反转所有空格。 正向测试输入: 1: 2 2: 3 21: 379 60: 239933 83: 73939133 后向测试输入: 1: 2 2: 3 39: 647 187: 29173 4260: 357686312646216567629137 程序应能够在合理的时间内(少于一分钟)运行 这是一个代码高尔夫球,因此字节最少的程序将获胜!


6
自验证三角棋盘程序
棋盘程序是一个程序,其中每个字符的序数值从偶数到奇数交替,不包括行终止符(可以是任何标准行尾)。 三角程序是这样的程序,其中每行比前一行具有一个附加字符,而第一行具有一个字符。您不需要处理空输入。 您的任务是构建一个程序,以验证给定的输入符合那些条件,并在程序符合条件时输出/返回真值,否则返回虚假值。 您的程序还必须满足这些条件。 有效程序的示例 G `e @u^ 5r{B ^ cB +$C VA01 规则 只要字符的奇偶性交替,您的程序就可以以奇数或偶数字节开头。 您的程序必须验证以奇数或偶数字符开头的程序。 对于Unicode字符,基础字节值必须具有交替的奇偶校验。 您可以假定输入仅包含可打印字符。如果您的程序包含不可打印的内容,则它仍然应该能够进行自我验证。 您的程序可能包含一个尾随换行符,验证不需要这样做,因为您可以假定在验证之前已将其删除。 禁止出现标准漏洞。 每种语言中以字节为单位的最短代码获胜。

11
N次程序的N次程序
给定一个正整数数组A作为输入,请生成一个程序,该程序重复k多次后,将输出k该数组的th(1-index)值。 例如,如果数组为[1,11],则输出应该是输出的程序1,并且当重复两次时,输出为11。类似于print(end="1");Python 3的代码可以工作:print(end="1");打印1和print(end="1");print(end="1");打印11 解决所有测试用例的最小代码长度总和。您的元代码应在60秒内解决500个测试用例,而每个解决方案代码应在10秒内返回。元代码和解决方案代码不必使用相同的语言,但是您的元程序生成的所有解决方案都应该使用相同的语言。 预测试数据和生成器可以在这里看到。7天后将使用提交时间的总和(例如12:34平均1234)作为随机种子,并生成另一个测试用例作为最终测试用例。 最终种子是GMT + 8中的7335,因此最终测试数据在此处

5
这是Anagram Quine,而不仅仅是Quine!
任务 在这个挑战中,您的任务是编写一个程序,该程序不输入任何内容,而要使用尽可能多的拼写形式。 您的分数将是程序源代码中有效有效字词的字谜数量除以可能的正确字谜总数,即有效字谜的字谜百分比。 适用标准漏洞和标准奎因规则。 注意:您的程序必须至少包含3个字符(而不是3个字节)。 输入值 程序本身的每个字谜(或排列)(即分数中包含的字谜)都不得输入任何内容。如果您的语言需要输入,那么可以假定您的程序将获得由小写字母A组成的字符串。但是,您不得以任何方式使用输入。 输出量 n程序源代码的不同字谜的数量必须是有效的quines,其中n代表您要包含在乐谱中的那些字谜的数量,即 那些quina-anagarams可以以任何方式输出,除非将输出写入变量。允许写入文件,控制台,屏幕等。功能return也是允许的。 计分范例 假设程序的源代码是code。和, code输出code。 coed输出coed。 cdoe输出cdoe。 cdeo输出cdeo。 cedo输出cedo。 ceod输出ceod。 ocde输出ocde。 oced输出oced。 odce输出odce。 odec不输出odec或产生错误。 oedc不输出oedc或产生错误。 oecd不输出oecd或产生错误。 doce不输出doce或产生错误。 doec不输出doec或产生错误。 dcoe不输出dcoe或产生错误。 dceo不输出deco或产生错误。 deco不输出deco或产生错误。 deoc不输出deoc或产生错误。 eodc不输出eodc或产生错误。 eocd不输出eocd或产生错误。 edoc不输出edoc或产生错误。 edco不输出edco或产生错误。 ecdo不输出ecdo或产生错误。 ecod不输出ecod或产生错误。 该解决方案的分数将是 获胜标准 得分最高的解决方案获胜!如果出现平局,则具有较高字符数(而不是字节数)的答案将获胜(因此,代码保龄球就可以了!)如果平局仍然存在,那么早先发布的解决方案将获胜!

2
位置意识
位置意识 您的任务是生成一个程序,该程序针对其字符的每个排列(包括原始程序),输出每个字符相对于原始程序的位置。 如果您的程序是 Derp 你必须输出 [0, 1, 2, 3] (或一些等效)。这是因为D是在0个位置,e是在1第一,R是2Nd和p所述3次。 让我们采用另一个程序,它是原始程序,但其字符已排列: epDr 您必须输出 [1, 3, 0, 2] 因为e是在1原始程序的第一位置,p在3第三位置,D所述0th,并且r所述2第二。 如果原始程序有两个重复字符: abcda -> [0, 1, 2, 3, 4] 然后为了进行排列,数组中的0和4必须按升序排列: baadc -> [1, 0, 4, 3, 2] (0 first, then 4) 规则: 您的程序必须至少包含两个唯一字符。 最多floor(n/2)字符应相同。 aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 …

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.