Questions tagged «graph-theory»

对于有关图形的挑战,使用数学结构来建模对象之间的关系。

13
扩大比较链
与大多数语言不同,Python a<b<c会像在数学中一样进行评估,实际上是比较三个数字,而不是将布尔值a<b与进行比较c。用C(以及许多其他语言)编写此代码的正确方法是a<b && b<c。 在这个挑战中,您的任务是将这样任意长度的比较链从Python /直观表示扩展到如何用其他语言编写。 技术指标 您的程序必须要处理运算符:==, !=, <, >, <=, >=。 输入将具有仅使用整数的比较链。 不用担心一路比较的真实性,这纯粹是语法/语法上的挑战。 输入将没有任何空格,以防止答案因分割空格而使解析变得琐碎。 但是,您的输出可能只有一个空格,要么仅包含&&,要么包含比较运算符和&&,或者两者都不包含,但是要保持一致。 测试用例 Input Output --------------------------------------------------------------- 3<4<5 3<4 && 4<5 3<4<5<6<7<8<9 3<4 && 4<5 && 5<6 && 6<7 && 7<8 && 8<9 3<5==6<19 3<5 && 5==6 && 6<19 10>=5<7!=20 10>=5 && 5<7 && 7!=20 15==15==15==15==15 …
9 code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

30
给定int输入n,输出n * reversed(n)
给定一个整数n,打印输出n * reversed(n) reversed(n)是当您reverse的数字为时得到的数字n。 reverse(512) = 215 reverse(1) = 1 reverse(101) = 101 >>>>>>>> func(5) = 5*5 = 25 func(12) = 12*21 = 252 func(11) = 11*11 = 121 func(659) = 659*956 = 630004 最短的代码胜出! 排行榜 显示代码段 var QUESTION_ID=144816,OVERRIDE_USER=71625;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var …
9 code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

5
在超立方体上行走
我最近阅读了图论,尤其是超立方体,并思考了在其上构造路径的有趣方法。这是我想出的。 如您所知,您可以通过将所有由1和组成的n元组0作为顶点并连接它们(只要它们的位数不同)来构造n维超立方体。如果将这些二进制数字解释为整数,则最终会得到一个顶点编号正确的图形。例如n=3: 假设您想在这个超立方体上散步,然后从顶点开始0。现在,如何确定下一个要访问的顶点?我想出的规则是获取当前a顶点的数量,翻转它mod(a,n)的位(从零开始的索引),然后转到最终的顶点。正式地,该规则可以递归定义为 a[m+1] = xor(a[m], 2^mod(a[m],n)). 通过遵循此规则,您将始终停留在立方体上并沿着边缘移动。结果路径如下所示 如您所见,您将走一圈!实际上,在所有维度和所有起点上,您的路径最终都会成环。例如n=14,a[0]=0它看起来像这样 对于狂热的漫步者来说,他计划的路线长度是至关重要的信息。因此,您的工作是编写将超多维数据集维度n作为起始顶点的函数或程序a[0]作为输入,并在结果循环中输出顶点数。 测试用例 n a[0] Output ----------------- 3 0 6 14 0 50 5 6 8 17 3 346 规则 禁止出现标准漏洞 输出/输入可以采用任何合适的格式 您可以假设a[0]是有效的顶点 计分 以字节为单位的最短代码获胜。 如果您有关于此主题的其他信息,我们将很高兴听到!

2
计算最大栅栏布置
背景 我要建篱笆。为此,我收集了一堆电线杆,并将其固定在地面上。我还收集了很多木板,将它们钉在电线杆上,以制作实际的围栏。我在建造东西时往往会被带走,很可能我会一直把木板钉在电线杆上,直到没有更多的地方放它们了。我想让你列举出我最终可能会遇到的障碍。 输入项 您的输入是一个二维整数坐标列表,以任何方便的格式表示极点的位置。您可以假定它不包含任何重复项,但是不能假设有关其顺序的任何信息。 这些板由两极之间的直线表示,为简单起见,我们仅考虑水平和垂直板。如果两极之间没有其他极或板,则可以将它们连接在一起,这意味着两板不能互相交叉。如果不能在其中添加新的板,则极和板的布置是最大的(等效地,在任何两个水平或垂直对齐的极之间有一个极或一个板)。 输出量 您的输出是可以使用极点构造的最大排列数。 例 考虑输入清单 [(3,0),(1,1),(0,2),(-1,1),(-2,0),(-1,-1),(0,-2),(1,-1)] 从顶部看,杆的相应排列如下所示: o o o o o o o o 可以使用这些极点构造三种最大的排列方式: o o o o-o o|o o-o o----o o||| o o| | o o-o o|o o-o o o o 因此正确的输出是3。 规则 您可以编写函数或完整程序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 [] -> 1 [(0,0),(1,1),(2,2)] -> 1 [(0,0),(1,0),(2,0)] -> …

2
下坡迷宫求解器
下坡迷宫由一系列由0到9(含0)到9(含)之间的数字分隔的行组成,外加一个“ S”和一个“ X”,其中S表示起点,X表示终点。在下坡迷宫中,您只能进入北,南,东或西与您相邻的空间(无对角线),并且只能进入小于或等于您的值的空间目前处于开启状态。 程序应以与输入相同的格式输出路径,以在迷宫中导航,只有所有经过的空格都应带有“”。在它们中,所有未访问的空间中都应带有“#”。起始和结束单元格还应分别保留其“ S”和“ X”。您可以假设迷宫总是有解决方案的。 输入示例: 3 3 3 3 2 1 S 8 9 3 1 1 3 3 0 6 8 7 1 2 2 4 3 2 5 9 7 1 2 1 5 4 3 4 4 6 1 1 X 6 4 4 5 …

3
3x3连接的组件
挑战 考虑3x3国王网格,如以下ASCII图形所示: A--B--C |\/|\/| |/\|/\| D--E--F |\/|\/| |/\|/\| G--H--I 作为输入,您将获得一个长度9的整数列表,这些列表表示节点的标签。例如,输入[0,1,1,2,1,0,5,5,1]代表以下标签: 0--1--1 |\/|\/| |/\|/\| 2--1--0 |\/|\/| |/\|/\| 5--5--1 您的输出是输入中形成连接的节点集的整数集。更明确地说,n当且仅当n连接了带有label的节点集时,输出才应包含输入的整数。在此示例中,可接受的输出为[1,2,5],因为两个0未连接。最低字节数获胜。 详细规则 您可以为输入列表中的节点选择固定顺序,并且应该在答案中说明这一点。按照EFBDHCAGI的顺序,上述标签将指定为[1,0,1,2,5,1,0,5,1]。 您可以编写完整的程序或函数。在后一种情况下,如果您的语言支持,则输出可以是一组整数。 输出列表可能包含重复项,但其长度不能超过9。 不允许出现标准漏洞。 测试用例 这些具有与网格对齐的个位数;将它们调整为您选择的顺序。 011 210 => 1 2 5 551 010 202 => 0 2 221 110 123 => 0 2 3 221 111 111 => 1 111 …

3
单向系统的最短路径
我的家乡Rhyl拥有一个单向交通系统,该系统的设计旨在使人们尽可能长时间地远离目的地。您的任务(应该选择尝试)是生成一个程序,以给出通过此类交通系统的最短路线。 输入项 输入将是on STDIN,并且将是一个起点和终点列表,后跟一个空行,然后是一个查询列表,如下所示: A B B A B C C D D C A D C A B A 每条道路只能沿给定的方向行进,因此,在上述示例中,道路A-B是双向道路,而B-C是从B到C的单向道路。从C到B被禁止。 起点和终点都将由一个大写字母表示。 输出量 对于收到的每个查询,输出应该是从给定起点到给定终点的最短路径(由访问的点数衡量)。如果没有这样的路由,则输出空白行。如果存在多个最短路径,则按字典顺序对所有最短路径进行排序时,输出第一个。 对于上面的示例,输出为: A B C D B A 测试脚本 和以前一样,我将基于Joey和Ventero编写的脚本为此任务提供测试: 重击 电源外壳 并对无法使用上述脚本的任何人进行测试和预期输出 纯文本 用法: ./test [your program and its arguments] 奖赏 很显然,所有尝试打高尔夫球的答案都符合规格要求,并且通过了所有测试,这些答案都将使我感到欣慰。到2012年1月26日的最短工作答案将被接受。
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.