编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

18
R打高尔夫球的秘诀
我正在寻找使用R统计语言打高尔夫球的技巧。R可能是高尔夫的非常规选择。但是,它非常紧凑地执行某些操作(序列,随机性,向量和列表),许多内置函数的名称都很短,并且具有可选的行终止符(;)。您可以提供哪些提示和技巧来帮助解决R中的代码高尔夫问题?
58 code-golf  tips  r 

27
我爱你我爱你我爱你!
XKCD#99(标题为“ Binary Heart”)显示了一个简单的由1和0组成的图像,其中一些数字显示为红色。 肉眼可以看到红色的心,但是隐藏在二进制序列中的消息却不可见。如果删除所有空格和换行符,并将二进制序列解释为8位ASCII码,则会得到以下消息: iloveyOuilOveyouiloveyOuilOveyOuiloveyouilOveyouilOveyOuilOv 可爱吧? Pssst ...字符串不是纯字符串重复。 您面临的挑战是创建一个宽度为21位,向下为23位的二进制图像。每行中的每个数字之间应恰好有一个空格,而每一行中应有一个换行符。请注意,最后一位只是字母的开头e,因为21*23不能被8整除。您也需要正确的位。 该功能或程序不应接受任何输入。可以使用前导和尾随空格以及换行符。 您的代码结果应如下所示: 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 …

11
新网站设计!
除非您有修改站点设计的用户脚本(即使这样做),否则您应该已经注意到我们拥有站点设计! (现在是十一月) 因此,为了庆祝这一点,让我们制作一个追溯应用此设计的程序(当然,这过于简化了!)! 因此,最重要的更改是: 我们现在的新名称是Code Golf和Coding挑战赛 我们的网站不再是默认的蓝色,而是深绿色 因此,给定一个字符串,请更改: PPCG 至 CGCC Programming Puzzles {non-whitespace} Code Golf到Code Golf {same-thing} Coding Challenges(例如,Programming Puzzles + Code Golf,and Code Golf,和& Code Golf将所有被改变为Code Golf + Coding Challenges,and Coding Challenges,和& Coding Challenges。 #abc到#acb(交换蓝色到绿色,反之亦然-只是忽视的事实是绿色的应该不是逻辑变成蓝色,但我不想色移复杂) #abcdef到#abefcd(与上面相同) 请注意,对于颜色交换,您应该接受从0-9到的任何十六进制数字a-f。您可以选择所需的十六进制数字大小写,但输入与输出之间必须保持一致且相同。 您的替换内容区分大小写,如果不区分大小写,请指定输出的工作方式。 仅当字符串被单词边界包围时(包括的开始),才应进行替换#。换句话说,只有当匹配项位于字符串的边缘或以非字母数字字符为边界(在两侧)时,才应进行每个指定的替换。 有标准漏洞。这是一个代码挑战,所以最短的代码胜出! 例子 PPCG -> CGCC Programming Puzzles or Code …
57 code-golf  string 

30
“ DDoouubbllee ssppeeaakk!”
今天是超级简单的挑战,还是吗? 我觉得我们最近听到了很多有关双重发言的信息,让我们以一种可编码的方式来定义它... 重复说话是指立即重复字符串中的每个字符。例如: "DDoouubbllee ssppeeaakk!!" 规则 编写接受一个参数(字符串)的代码。 它将修改此字符串,复制每个字符。 然后它将返回该字符串的双向播放版本。 这是代码高尔夫,请尝试以最少的字节数实现这一目标。 请提供指向您的代码的在线解释器的链接。 输入字符串将仅包含可打印ASCII范围内的字符。参考:http://www.asciitable.com/mobile/ 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 显示代码段 var QUESTION_ID=188988; var OVERRIDE_USER=53748; var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;function answersUrl(d){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+d+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(d,e){return"https://api.stackexchange.com/2.2/answers/"+e.join(";")+"/comments?page="+d+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(d){answers.push.apply(answers,d.items),answers_hash=[],answer_ids=[],d.items.forEach(function(e){e.comments=[];var f=+e.share_link.match(/\d+/);answer_ids.push(f),answers_hash[f]=e}),d.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(d){d.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),d.has_more?getComments():more_answers?getAnswers():process()}})}getAnswers();var SCORE_REG=function(){var d=String.raw`h\d`,e=String.raw`\-?\d+\.?\d*`,f=String.raw`[^\n<>]*`,g=String.raw`<s>${f}</s>|<strike>${f}</strike>|<del>${f}</del>`,h=String.raw`[^\n\d<>]*`,j=String.raw`<[^\n<>]+>`;return new RegExp(String.raw`<${d}>`+String.raw`\s*([^\n,]*[^\s,]),.*?`+String.raw`(${e})`+String.raw`(?=`+String.raw`${h}`+String.raw`(?:(?:${g}|${j})${h})*`+String.raw`</${d}>`+String.raw`)`)}(),OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(d){return d.owner.display_name}function process(){var d=[];answers.forEach(function(n){var o=n.body;n.comments.forEach(function(q){OVERRIDE_REG.test(q.body)&&(o="<h1>"+q.body.replace(OVERRIDE_REG,"")+"</h1>")});var p=o.match(SCORE_REG);p&&d.push({user:getAuthorName(n),size:+p[2],language:p[1],link:n.share_link})}),d.sort(function(n,o){var p=n.size,q=o.size;return p-q});var e={},f=1,g=null,h=1;d.forEach(function(n){n.size!=g&&(h=f),g=n.size,++f;var o=jQuery("#answer-template").html();o=o.replace("{{PLACE}}",h+".").replace("{{NAME}}",n.user).replace("{{LANGUAGE}}",n.language).replace("{{SIZE}}",n.size).replace("{{LINK}}",n.link),o=jQuery(o),jQuery("#answers").append(o);var p=n.language;p=jQuery("<i>"+n.language+"</i>").text().toLowerCase(),e[p]=e[p]||{lang:n.language,user:n.user,size:n.size,link:n.link,uniq:p}});var j=[];for(var k in e)e.hasOwnProperty(k)&&j.push(e[k]);j.sort(function(n,o){return n.uniq>o.uniq?1:n.uniq<o.uniq?-1:0});for(var l=0;l<j.length;++l){var m=jQuery("#language-template").html(),k=j[l];m=m.replace("{{LANGUAGE}}",k.lang).replace("{{NAME}}",k.user).replace("{{SIZE}}",k.size).replace("{{LINK}}",k.link),m=jQuery(m),jQuery("#languages").append(m)}} body{text-align:left!important}#answer-list{padding:10px;float:left}#language-list{padding:10px;float:left}table thead{font-weight:700}table …
57 code-golf  string 

30
再有一个LUL,我出去了
挑战说明 在流行的流媒体网站twitch.tv的某些频道上,人们倾向于在聊天中发送垃圾邮件,诱使人们发送垃圾邮件“ LUL”, One more LUL and I'm out LUL是一种流行的表情,用于表示流中发生了有趣的事情。 很快,模因模因展示了它们的潜力,并模仿了随后的复制面: One more "One more LUL and I'm out" and I'm out 嵌套在同一消息中。给定一个非负整数N,N按照以下模式自己输出LUL-pasta嵌套时间。 应用标准代码高尔夫规则,以字节为单位的最短代码获胜。 样品输入/输出 0: One more LUL and I'm out 1: One more "One more LUL and I'm out" and I'm out 2: One more "One more "One …
57 code-golf  string 

30
热情地俄语化字符串
你们中的许多人可能在某个时候与来自俄罗斯的人进行了互动,并且其中的一部分人可能已经注意到他们表达自己的方式有些奇怪。 例如 удали игру нуб))) 在)))为强调前面的语句而添加的地方,我一直在研究一个理论,即)s与其余字符串的比率与隐含强调的量成正比,但是我经常发现很难计算该比率快速进行中,因为我也在努力应对大量滥用情况,所以我想用最短的代码来帮助我计算出结果字符串应该是什么,对于原始值(介于0和500%之间), ,热情的字符串,这将极大地帮助我的研究,因为每次我想检验我的假设时,我都不必键入笨拙的脚本。 因此,挑战在于: 编写一个完整的程序或函数,以整数格式(0到500之间)或十进制格式(0到5之间,有2个精度点)提供两个参数,一个未知长度的字符串和一个数字,将 返回/显示原始的字符串,与多个后缀)的 该数字将作为输入数字与字符串长度的比率计算得出。 因此,如果被提供的号码200,或2.00,所述串的200%,必须作为后缀)的 小数点后四舍五入的括号数量无关紧要。 需要脚本来支持可打印ASCII字符。 只需支持您选择的一种输入数字格式。 例子: "codegolf" 125 = codegolf)))))))))) "codegolf" 75 = codegolf)))))) "noob team omg" 0.5 = noob team omg)))))) "hi!" 4.99 = hi!))))))))))))))) 示例代码(PowerShell)(带十进制输入): Function Get-RussianString ([string]$InputStr,[decimal]$Ratio){ $StrLen = $InputStr.Length $SuffixCount = $StrLen * $Ratio $Suffix = …
57 code-golf  string 

30
显示黑客徽标
您可能听说过“ Hacker徽标”,也称为“ Hacker标志”。看起来像这样: 这是来自称为生命游戏的数学模拟的一种模式。滑翔机是移动最简单的生活模式,也是所有生活模式中最容易识别的。 挑战 挑战非常简单:显示黑客徽标。定义为: 具有边框,白色背景和灰色网格线的3x3网格。 以GoL滑翔机模式排列的五个黑点。 没有其他的。 规则 黑点必须填写40% - 80%的其个人网箱。 您将使用图形输出显示标志,但不显示ASCII文字。 输出必须至少为30x30像素。 输出只能具有灰色,黑色和白色。 网格中的每个网格框都将具有相同的大小。网格将是规则的3x3正方形。 您不得从互联网或文件系统中提取徽标。 您的程序将在空白屏幕/窗口上显示徽标。如果终止,则必须正常进行。 注意,“点”不一定表示“圆圈”。“点”是居中于具有一个表面的网格框中间的单个几何形状。例如,一个圆形或正方形将被视为一个点,而两个三角形或一个棋盘将不被视为一个点。 赢家 因为这是代码高尔夫,所以每种语言中最短的答案将获胜! 请在答案中包括程序输出的屏幕截图。

27
破解中
还记得那些蛮力破解密码的程序,它们显示了他们尝试的每种组合吗?更准确地说,在某个时刻,固定了n个第一个字符(已经成功猜出了它们),其余的每个可能的字符都在测试中。您可能已经看过电影或喜欢精美界面的人编写的某些软件。 抱歉,我们很抱歉,但是我们不会编写破解密码的程序,而只提供一个程序来复制漂亮的输出。 挑战 给定一个包含可打印的ascii字符但没有换行符的字符串(ascii代码32到126或与regex匹配^[ -~]{2,}$),请按照以下规则打印输出: 在时间t=n seconds,n打印的n第一个字符是输入字符串的第一个字符。 的后n固定字符,则应该字符串形成随机字符追加(从unicode的范围内选择均匀地伪随机 ,以~(码32至126)),以形成所述初始之一的长度的字符串。 您应该每秒至少输出20行(稍后再详细介绍):每个行将具有相同的n首字符,但随机结尾不同。 目前尚不清楚您应该做什么,所以让我们来看一个例子: 例 我每秒钟只打印5条不同的行,而不是20条最小值,只是为了使其更具可读性。 考虑输入abcde。 在第一秒内,有效输出可能类似于(完全随机): dGuT4 S!jkN "gQ>[ TU3! *fAjV 然后,t=1每个后续字符串a的第一个字符将是(输入的第一个字符): a);jD aHv^p aqw5* a|.?: a{gbK 现在,,t=2前两个字符为ab: abTJ" ab\ e ab3T# abYWS ab"#< 现在,t=3前三个字符为abc: abcvW abc3G abc(g abc{@ abc@4 现在,t=4前四个字符为abcd: abcdD abcdv abcdj abcd$ abcd6 最后,t=5我们打印输入(仅一次): abcde 一些精度 您不应该对秒级的语言精度太费心(例如,如果您的算法正确但系统/语言缺乏精度,那就很好了)。 第一秒可以短于一秒(也就是说,如果您在一秒钟内启动程序,则第一秒可能只是直到当前秒结束为止的剩余时间)。或者换句话说,您不必等待新的一秒开始打印输出。 …

30
大端或小端
编写一个程序或函数,该程序或函数输出L在小端架构上B运行的if 或在大端架构上运行的if。小写输出l还是b可以的。 没有输入。 计分是代码高尔夫,因此字节最少的代码获胜。 编辑: 根据下面的评论,我澄清一下,该条目必须能够在两种体系结构上运行。 我相信只有一个答案会受到影响,并且该答案已明确表明确实如此。
57 code-golf 

30
画一个星号三角形
受编程101任务的启发,这是一个希望不太容易或重复的任务(有点难以搜索这样的东西)。 输入: 一个正整数n >= 1。 输出: n 星号行,其中每个新行都比前一行多一个星号,并且在第一行中以一个星号开头。 通用规则: 这是代码高尔夫球,因此最短的答案以字节为单位。 由于该课程是用C ++讲授的,所以我很想看到C ++的解决方案。 测试案例(n = 5): * ** *** **** *****

8
做蛇蛇之吻
一条可弯曲的蛇看起来像这样: <||=|||:)~ 垂直条(每个单独序列|)是一个弹性的蛇,被称为一个有弹性的部分,是单独地可伸展到它的宽度的两倍,并绘制具有交替斜杠(/,\)一次延长。 上面特定的蛇有两个这样的伸展部分,给它四个可能的姿势: <||=|||:)~ </\/\=|||:)~ <||=/\/\/\:)~ </\/\=/\/\/\:)~ 此正则表达式定义了伸展最少的伸展蛇的一般形式: <(\|+=)*\|+:\)~ 可以用以下文字表示: <,随后通过任何数目的序列|的连接与=迹象,随后:)~。 So <|:)~and <||:)~and <|=|:)~and <|=|=||=|||||=||:)~是可弯曲的蛇,而<=:)~and <=|:)~and <||=:)~and <|==||:)~不是。 易弯曲的蛇也可以朝左而不是朝右,例如~(:|||=||>。形式是一样的,只是被镜像。 挑战 编写一个程序,该程序使用两条彼此面对的伸缩性蛇的单行字符串,中间留有一定数量的空格。两条蛇都将处于其伸展最少的姿势(所有竖线,无斜线)。字符串将从右向蛇的尾部开始,然后从左向蛇的尾部结束(您可以选择假设还有尾随换行符)。 例如,这是一条可能的输入,在蛇之间有五个空格: <|=||:)~.....~(:||||> .为了清楚起见,我使用句点()而不是实际的空格字符。 蛇之间的零间距也是有效的输入: <|=||:)~~(:||||> 我们说蛇在舌头这样触摸时在亲吻。 您的程序需要扩展两条蛇的可拉伸部分的某种组合,以使蛇之间的间隔最少(不重叠),即蛇尽可能接近接吻。 两条蛇的尾巴都是固定的,但它们的头部和身体可以移动-根据伸展的部分,向右移动,向右移动,向左移动。 程序的输出是单行字符串(加上可选的尾随换行符),该字符串显示蛇尽可能接近接吻的位置,并为延伸的可伸展部分绘制交替的斜线代替竖线。 例如,<|=||:)~.....~(:||||>(从上面)的输出为: </\=||:)~~(:/\/\/\/\> 这是唯一的解决方案,因为在伸展部分的任何其他组合下,蛇会重叠或离接吻更远。 如果有多种解决方案,则输出可能是其中任何一种。 例如,如果输入是 <|=||:)~.....~(:|||=|> 输出可能是 <|=/\/\:)~~(:/\/\/\=|> 要么 </\=||:)~~(:/\/\/\=/\> 请记住,并非总是能够使蛇亲吻,但是您仍然需要使它们尽可能靠近。 例如,如果输入是 <||=||||:)~...~(:||> 输出可能是 </\/\=||||:)~.~(:||> 要么 <||=||||:)~.~(:/\/\> 如果蛇已经在接吻,则输出将与输入相同。例如 …

30
打印N平方
编写一个从stdin或函数参数中获取非负整数N的程序或函数。它必须打印或返回一个空心的ASCII艺术方块的字符串,该字符串的侧面各有N个数字N的副本。 特别: 如果N为0,则不使用N的副本,因此应该没有输出(或只有一个尾随的换行符)。 如果N为1,则输出为: 1 如果N为2: 22 22 如果N为3: 333 3 3 333 如果N为4: 4444 4 4 4 4 4444 如果N为5: 55555 5 5 5 5 5 5 55555 模式将持续6到9。 如果N为10,则输出为: 10101010101010101010 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10101010101010101010 请注意,这实际上不是正方形。它高10行,但宽20列,因为10它长两个字符。这是有意的。关键是“正方形”的每一侧都包含N的N个副本。因此,从9技术上讲,所有其他输入都是ASCII矩形。 …

30
亚历克斯风格的加法
受亚历克斯(Alex)光荣的启发,学习R成为一个很好的例子,我们将谦虚地重建亚历克斯(Alex)的“一个真正的R程序”-但要有所作为。 Alex风格的加法就是这样的-它有90%的机会简单地返回给定的两个数字的和,还有10%的机会递归Alex加上第一个数字和第二个数字+1。这意味着,潜在地,则相加可能相差1或更多。 挑战 编写一个完整的程序或函数,该程序或函数需要两个整数并按定义将它们相加。您可以假设如果您的语言没有尾递归,则程序不会堆栈溢出。(请注意,只要概率相同,就不必递归实现它。) 参考实现(Groovy) int alexAdd(int a, int b) { int i = new Random().nextInt(11); if(i == 1) { return alexAdd(a,b+1); } else { return a + b; } } 在线尝试这个小提琴。 排行榜 var QUESTION_ID=66522,OVERRIDE_USER=8478;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 r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var …

10
小钱德勒很伤心。画他的云,使他振作起来
小钱德勒很伤心。画他的云使他振作起来。 注意:画云实际上不会使他振作起来。 圆可以定义为三元组(x,y,r),其中x是圆在笛卡尔平面上的x位置,是圆在笛卡尔平面y上的y位置以及圆r的半径。x并y可能是负面的。r永远是积极的。输入是以空格分隔的三元组形式的圆的列表。例如: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 的3,1,1意思是“在与中心点的圆3,1与1个半径。3,2,1.5是指”在与中心点的圆3,2用1.5半径。 如果我们在图形上绘制输入的所有这些圆,则看起来像这样(我仅出于清晰起见添加了网格线和标签;它们不是必需的): 注意所有的圆是如何凝聚的。也就是说,它们全部重叠在一起,从而形成一个大的组,而没有其他的小圈子。输入保证是内聚的。 假设现在绘制一条绕这些圆形成的“边界”行进的线,而没有其他任何线。就像绘制所有圆组成的轮廓的边界一样。生成的云看起来像这样: 因此,仅通过在输入中绘制形成边界的圆弧来形成单一形状即可形成此云。换句话说,仅通过绘制不在另一个圆内的圆弧来形成云。您的程序将以上述形式接受输入,并输出显示结果云的图像。云的整体形状必须正确,但是比例,颜色,线条粗细以及在顶点处的外观取决于您。请注意,云必须是可见的,因此您不能拉出类似“此程序在白色背景上绘制白色云”,“此程序以无限小的比例绘制云”,“此程序以0绘制云”之类的内容。线宽”等。还请注意,边框的颜色必须与填充或背景的颜色不同。 另一个例子。输入: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 输出: 如果云中存在“洞”,则也应绘制该洞。输入: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 输出: 这是一条重要规则:您的程序必须仅绘制形成边框的线。这意味着您不能简单地完全绘制圆,然后用白色填充将圆绘制得稍小一些,因为该方法仍会绘制不形成边界的线,之后只会将其覆盖。该规则的目的是防止“绘制圆,然后用白色填充再次绘制圆”的实现或类似的方法。预计答案将在绘制之前实际计算出绘制对象的位置。 这是代码高尔夫球,因此最短的字符数获胜。

9
xkcd挑战:“ [x]彩色屏幕的百分比”
所以我想我们所有人都可能看过这个xkcd漫画: : 我不确定这可能太笼统或太难了。但是挑战在于用任何一种语言创建一个程序,该程序将创建一个窗口,该窗口至少具有两种颜色,并用英语显示每种颜色在屏幕上所占的百分比。 例如 最简单的解决方案是在白色背景上写上黑色字母,上面写着“此图像的百分比为黑色:[x]%。此图像的百分比为白色:[y]%” 您可以根据自己的意愿去疯狂或简单;纯文本是一种有效的解决方案,但如果您制作有趣的图像(如xkcd漫画中的图像),那就更好了!获胜者将是获得最多选票的最有趣和最具创造力的解决方案。因此,继续做一些有趣的事,值得xkcd!:) 所以你怎么看?听起来像是一个有趣的挑战?:) 请在答案中包含正在运行的程序的屏幕截图:)

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.