Questions tagged «combinatorics»

对于涉及组合学的挑战。

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

7
数字的排序词法分区
挑战非常简单:给定一个数字,将其数字拆分为一个较小数字的数组,以使结果数字不变。要注意的是,您必须将其拆分为最大数组长度。 困惑? 您可以通过STDIN(或最接近的替代方法),命令行参数或函数参数以任何方便,明确的输入格式为您提供正整数。 您必须将数字的十进制数字划分为连续的,不相交的组。 这些数字组代表的数字数组应排序(按通常的,不递减的顺序),而无需重新排列组。 如果存在多个这样的分区,则必须将输入划分为尽可能多的数字。如果是平局,则返回一个这样的结果。 您可以将数组输出到STDOUT(或最接近的替代品)或作为函数返回值。如果是STDOUT(或最接近的替代产品),则应以任何方便,明确的列表格式打印阵列。 分割数不应包含前导零。因此,例如1002003,不能将其打印为[1, 002, 003]或[1, 2, 3],并且唯一有效的答案是[100, 2003]。 测试用例: 123456 -> [1, 2, 3, 4, 5, 6] 345823 -> [3, 4, 5, 8, 23] 12345678901234567890 -> [1, 2, 3, 4, 5, 6, 7, 8, 90, 123, 456, 7890] 102 -> [102] 302 -> [302] 324142 …

8
建立长字链
挑战在于找到最长的英语单词链,其中下一个单词的前3个字符与最后一个单词的后3个字符匹配。您将使用Linux发行版中可用的通用词典,可以在此处下载: https://www.dropbox.com/s/8tyzf94ps37tzp7/words?dl=0 其中有99171个英语单词。如果本地Linux /usr/share/dict/words是同一文件(具有md5sum == cbbcded3dc3b61ad50c4e36f79c37084),则可以使用该文件。 单词只能在答案中使用一次。 编辑:字母必须完全匹配,包括大写/小写,撇号和重音。 有效答案的一个示例是: idea deadpan panoramic micra craftsman mantra traffic fiche 得分为8。 有效词链最长的答案将是赢家。如果出现平局,最早的答案将获胜。您的答案应列出找到的单词链,以及(当然)您编写的用于执行此操作的程序。

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

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 

14
变相的排列
给定一个nnn维向量vvv与真正的条目,找到最接近的置换ppp的(1,2,...,n)(1,2,...,n)(1,2,...,n)相对于所述l1l1l_1 -distance。 细节 如果是更方便,你可以使用置换(0,1,...,n−1)(0,1,...,n−1)(0,1,...,n-1)代替。如果存在多个最接近的排列,则可以输出任何一个或全部替换。 两个向量u ,v之间的l1l1l_1距离定义为d (u ,v )= ∑ i | u i − v i | 。u,vu,vu,vd(u,v)=∑i|ui−vi|.d(u,v)=∑i|ui−vi|.d(u,v) = \sum_i \vert u_i-v_i\vert. 如果需要,可以假定输入仅由整数组成。 例子 [0.5 1] -> [1 2], [2 1] c*[1 1 ... 1] -> any permutation [1 4 2 6 2] -> [1 4 3 5 2], …

9
XKCD日历事实
启示。经许可张贴。 打印可能的XKCD日历“事实”之一: 您可以从我的APL参考实现或Explain XKCD的成绩单(包括插图下方的标题文本)中获取原始文本和结构。 规则 在每个决策节点,每个选择都必须有相等的(伪)随机机会。 您可以全部使用大写字母。 您必须生成三个句子;问题,原因和标题文字。 三句话应被结束?,.以及.分别与由单个空间彼此分离。 您可能包括的唯一额外空白是一个尾随空格和/或换行符。 例子 Did you know that the Latest Sunset drifts out of sync with the Zodiac because of time zone legislation in Indiana? Apparently it's getting worse and no one knows why. While it may seem like trivia, it has to …

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 …

11
生成Steenrod代数的基础元素
Steenrod代数是在代数拓扑中出现的重要代数。Steenrod代数由称为“ Steenrod平方”的算子生成,每个正整数i存在一个。Steenrod代数在平方运算中有一个由“可允许的单项式”组成的基础。建立这个基础是我们的目标。 正整数的序列被称为受理如果每个整数是至少下一个的两倍。因此,例如[7,2,1]是受理,因为7 ≥ 2 * 27≥2∗27 \geq 2*2和2 ≥ 2 * 12≥2∗1个2 \geq 2*1。另一方面,[3,2]由于3 &lt; 2 * 23&lt;2∗23 < 2*2,因此是不可接受的。(在拓扑中,我们将为序列写小号q7小号q2小号q1个小号q7小号q2小号q1个\mathrm{Sq}^7 \mathrm{Sq}^2\mathrm{Sq}^1[7,2,1])。 序列的程度是其条目的总数。因此,例如,度数[7,2,1]为7+2+1=107+2+1=107 + 2 + 1 = 10。所述过量的容许序列的是第一个元素减去总的剩余元素,所以[7,2,1]有过量的7−2−1=47−2−1=47 - 2 - 1 = 4。 任务 编写一个程序,该程序接受一对正整数,(d,e)并输出所有d小于或等于的度和超出的所有允许序列的集合e。输出是一个集合,因此允许序列的顺序无关紧要。 例子: Input: 3,1 Output: [[2,1]] 在这里,我们正在寻找总数为3的可允许序列。有两个选项,[3]和[2,1]。([1,1,1]且[1,2]总和为3,但不可接受)。过量的[3]是3和过量的[2,1]是2−1=12−1=12-1 = 1。因此,用过量的唯一序列≤1≤1\leq1是[2,1]。 Input: 6, 6 Output: [[6], …

4
给定正数nnn,则忽略立体异构体;找到具有n个碳原子的烷烃数;或等效,未标记的树的与该数Ñ节点,使得每个节点具有度≤ 4nnnnnn≤4≤4\le 4。 这是OEIS序列A000602。 另请参阅:石蜡-罗塞塔代码 例 对于n=7n=7n = 7,答案是999,因为庚烷有9个异构体: 庚烷:H3C−CH2−CH2−CH2−CH2−CH2−CH3H3C−CH2−CH2−CH2−CH2−CH2−CH3\mathrm{H_3C-CH_2-CH_2-CH_2-CH_2-CH_2-CH_3} 2-甲基己烷:H3C−CH(CH3)−CH2−CH2−CH2−CH3H3C−CH(CH3)−CH2−CH2−CH2−CH3\mathrm{H_3C-CH(CH_3)-CH_2-CH_2-CH_2-CH_3} 3-甲基己烷:H3C−CH2−CH(CH3)−CH2−CH2−CH3H3C−CH2−CH(CH3)−CH2−CH2−CH3\mathrm{H_3C-CH_2-CH(CH_3)-CH_2-CH_2-CH_3} 2,2-二甲基戊烷:H3C−C(CH3)2−CH2−CH2−CH3H3C−C(CH3)2−CH2−CH2−CH3\mathrm{H_3C-C(CH_3)_2-CH_2-CH_2-CH_3} 2,3-二甲基戊烷:H3C−CH(CH3)−CH(CH3)−CH2−CH3H3C−CH(CH3)−CH(CH3)−CH2−CH3\mathrm{H_3C-CH(CH_3)-CH(CH_3)-CH_2-CH_3} 2,4-二甲基:H3C−CH(CH3)−CH2−CH(CH3)−CH3H3C−CH(CH3)−CH2−CH(CH3)−CH3\mathrm{H_3C-CH(CH_3)-CH_2-CH(CH_3)-CH_3} 3,3-二甲基戊烷:H3Ç - Ç ^ h2− C (C H3)2- Ç ^ h2- Ç ^ h3H3C-CH2-C(CH3)2-CH2-CH3\mathrm{H_3C-CH_2-C(CH_3)_2-CH_2-CH_3} 3-乙基戊烷:H3Ç - Ç ^ h2− C (C H2ç ^ h3)- c ^ H ^2- Ç ^ h3H3C-CH2-C(CH2CH3)-CH2-CH3\mathrm{H_3C-CH_2-C(CH_2CH_3)-CH_2-CH_3} 2,2,3-三甲基丁烷:H3C−C(CH3)2−CH(CH3)−CH3H3C−C(CH3)2−CH(CH3)−CH3\mathrm{H_3C-C(CH_3)_2-CH(CH_3)-CH_3} 注意3-甲基己烷和2,3-二甲基戊烷是手性的,但是在这里我们忽略立体异构体。 测试用例 您无需处理此案 …

27
独特的挂锁PIN列表!
介绍 在一次私人聊天中,我的一个朋友显然是最近偶然发现了一个安全系统,该系统的有效密码有以下两个限制: 每个数字必须唯一(即“ 1”只能出现一次) 数字的顺序无关紧要(“ 1234” =“ 4321”) 因此,为了说明该挂锁系统的严重程度,让我们实际枚举所有有效的PIN! 输入值 您的输入将包含一个正整数,表示PIN的长度。 输出量 您的输出包含一个非负整数或字符串*的列表,这些列表会枚举给定长度的所有有效PIN。 *更精确地说,如果您要为它们打印,则人类可以尝试使用所有组合。这意味着一组数字集和一组数字数组都可以。 谁赢? 这是代码高尔夫球,因此最短的答案以字节为单位!适用标准规则和漏洞。 角落案例 如果输入大于10的整数,则输出行为不确定。 每个输出条目中数字的顺序是不确定的,因为带有零的条目实际上包含所说的零,也就是说,您可能不会去除“ 0123”到“ 123”,但是“ 1230”,“ 1203”和“ 1023”都是有效的就像“ 0123”一样。 测试用例 1 [0,1,2,3,4,5,6,7,8,9] 2 [10,20,30,40,50,60,70,80,90,21,31,41,51,61,71,81,91,32,42,52,62,72,82,92,43,53,63,73,83,93,54,64,74,84,94,65,75,85,95,76,86,96,87,97,98] 3 [210,310,410,510,610,710,810,910,320,420,520,620,720,820,920,430,530,630,730,830,930,540,640,740,840,940,650,750,850,950,760,860,960,870,970,980,321,421,521,621,721,821,921,431,531,631,731,831,931,541,641,741,841,941,651,751,851,951,761,861,961,871,971,981,432,532,632,732,832,932,542,642,742,842,942,652,752,852,952,762,862,962,872,972,982,543,643,743,843,943,653,753,853,953,763,863,963,873,973,983,654,754,854,954,764,864,964,874,974,984,765,865,965,875,975,985,876,976,986,987] 4 [3210,4210,5210,6210,7210,8210,9210,4310,5310,6310,7310,8310,9310,5410,6410,7410,8410,9410,6510,7510,8510,9510,7610,8610,9610,8710,9710,9810,4320,5320,6320,7320,8320,9320,5420,6420,7420,8420,9420,6520,7520,8520,9520,7620,8620,9620,8720,9720,9820,5430,6430,7430,8430,9430,6530,7530,8530,9530,7630,8630,9630,8730,9730,9830,6540,7540,8540,9540,7640,8640,9640,8740,9740,9840,7650,8650,9650,8750,9750,9850,8760,9760,9860,9870,4321,5321,6321,7321,8321,9321,5421,6421,7421,8421,9421,6521,7521,8521,9521,7621,8621,9621,8721,9721,9821,5431,6431,7431,8431,9431,6531,7531,8531,9531,7631,8631,9631,8731,9731,9831,6541,7541,8541,9541,7641,8641,9641,8741,9741,9841,7651,8651,9651,8751,9751,9851,8761,9761,9861,9871,5432,6432,7432,8432,9432,6532,7532,8532,9532,7632,8632,9632,8732,9732,9832,6542,7542,8542,9542,7642,8642,9642,8742,9742,9842,7652,8652,9652,8752,9752,9852,8762,9762,9862,9872,6543,7543,8543,9543,7643,8643,9643,8743,9743,9843,7653,8653,9653,8753,9753,9853,8763,9763,9863,9873,7654,8654,9654,8754,9754,9854,8764,9764,9864,9874,8765,9765,9865,9875,9876]

1
排列,使得没有k + 2点落在任何次数为k的多项式上
描述 如果没有点集(以及它们的索引)落在次数的多项式上,则将整数的置换{1, 2, ..., n}称为最小可插值。那是,k+2k 没有两点落在一条水平线上(0度多项式) 线上没有三个点(一阶多项式) 抛物线(2次多项式)上没有四个点 等等。 挑战 编写一个程序,计算OEIS序列A301802(n),它的最小可插值置换的{1, 2, ..., n}数量应n尽可能大。 计分 我将在输入增加的情况下在计算机(2.3 GHz Intel Core i5,8 GB RAM)上计时您的代码。您的分数将是最大的输入,只需不到1分钟即可输出正确的值。 例 例如,排列[1, 2, 4, 3]是最小可插值的,因为 the terms together with their indices [(1, 1), (2, 2), (3, 4), (4, 3)] have the property that (0) No two points have …

16
我有几个分区?
正整数的分区号定义为可将其表示为正整数之和的方式数。换句话说,它具有整数分区的数量。例如,数字4具有以下分区: [[1,1,1,1],[1,1,2],[1,3],[2,2],[4]] 因此,它具有5分区。这是OEIS A000041。 任务 给定正整数N,确定其分区号。 所有标准规则均适用。 输入和输出可以通过任何合理的方式进行处理。 这是code-golf,因此以字节为单位的最短代码获胜。 测试用例 输入| 输出量 1 | 1个 2 | 2 3 | 3 4 | 5 5 | 7 6 | 11 7 | 15 8 | 22 9 | 30 10 | 42

7
多少个分区仅包含完美正方形?
给定一个非负整数或一列数字,请通过将可能有前导零的平方数级联来确定以几种方式形成数字。 例子 input -&gt; output # explanation 164 -&gt; 2 # [16, 4], [1, 64] 101 -&gt; 2 # [1, 01], [1, 0, 1] 100 -&gt; 3 # [100], [1, 00], [1, 0, 0] 1 -&gt; 1 # [1] 0 -&gt; 1 # [0] 164900 -&gt; 9 # [1, 64, …

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.