Questions tagged «decision-problem»

对于涉及确定输入是否满足特定条件的挑战,以及输出代表该决策的一些数据。

1
只匹配自己的正则表达式
正则表达式(自匹配正则表达式,正则表达式验证正则表达式)面临一些非常酷的挑战 这可能是不可能的,但是是否存在只能匹配自身的正则表达式? 注意,必须包括定界符: 例如/thing/必须匹配/thing/而不是thing。表达式唯一可能的匹配必须是表达式本身。许多语言允许使用字符串代替正则表达式。例如在Go中 package main import "fmt" import "regexp" func main() { var foo = regexp.MustCompile("bar") fmt.Println(foo.MatchString("foobar")) } 但是为了挑战,如果您想将引号作为分隔符,则让表达式被定界(开始符号,表达式,结束符号ex:/fancypantpattern/或@[^2048]@)。我认为,鉴于此问题的明显困难,它不会带来太大变化。 为了帮助您: 我为rubular.com(用于ruby regex编辑的网页)放在一起的快速技巧: var test = document.getElementById("test") ,regex = document.getElementById("regex") ,delimiter="/" ,options = document.getElementById("options") ,delay = function(){test.value = delimiter + regex.value + delimiter + options.value} ,update = function(e){ // without ...

30
这个数字是素数吗?
信不信由你,对于简单的素数测试,我们还没有针对高尔夫的代码挑战。尽管这可能不是最有趣的挑战,尤其是对于“常用”语言而言,但在许多语言中它可能并不平凡。 Rosetta代码按惯用方法的语言列出了用于素数测试的功能,一种方法专门使用Miller-Rabin测试,另一种方法使用试验部门。但是,“最惯用的”通常与“最短的”不重合。为了使“编程难题”和“代码高尔夫”成为代码高尔夫的首选站点,此挑战旨在汇编一种每种语言中最短方法的目录,类似于“ Hello,World!”。和高尔夫球给你一个伟大的机会!。 此外,实现素数测试的能力是我们对编程语言的定义的一部分,因此,这一挑战也将成为经过验证的编程语言的目录。 任务 编写一个完整的程序,给定严格的正整数n作为输入,该程序确定n是质数,并相应地打印真实或虚假值。 出于此挑战的目的,如果整数恰好具有两个严格的正除数,则它是质数。请注意,这不包括1,后者是其唯一的严格除数。 您的算法必须是确定性的(即以概率1产生正确的输出),并且从理论上讲应该适用于任意大的整数。实际上,您可以假设输入可以存储在您的数据类型中,只要程序可以处理1到255之间的整数即可。 输入项 如果您的语言能够从STDIN中读取,接受命令行参数或用户输入的任何其他替代形式,则可以读取整数作为其十进制表示形式,一元表示形式(使用您选择的字符),字节数组(大或小尾数)或单字节(如果这是您的语言所用的最大数据类型)。 如果(且仅)您的语言无法接受任何类型的用户输入,则可以在程序中对输入进行硬编码。 在这种情况下,硬编码整数必须易于交换。特别是,它可能仅出现在整个程序的单个位置。 出于评分目的,提交与输入1对应的程序。 输出量 输出必须写入STDOUT或最接近的替代方案。 如果可能,输出应仅包含一个真值或假值(或其字符串表示形式),并可选地跟一个换行符。 该规则的唯一例外是您的语言解释器不断输出的内容,例如问候语,ANSI颜色代码或缩进​​,这些输出不能被禁止。 附加规则 这并不是要找到用于最短时间测试的最短语言,而是要找到每种语言中最短的方法。因此,没有答案将被标记为已接受。 大多数语言的提交都将以适当的预先存在的编码(通常(但不一定)为UTF-8)以字节计分。 例如,Piet语言将在编码中得分,这是该语言的自然选择。 某些语言(例如Folders)很难评分。如有疑问,请在Meta上提问。 与我们通常的规则不同,即使使用的语言(或语言版本)比此挑战新,也可以使用。如果有人想通过创建一种在空程序执行素性测试的语言中滥用它的方法,那么祝贺您为一个非常无聊的答案铺平了道路。 请注意,必须有一个解释器,以便可以测试提交。允许(甚至鼓励)自己为以前未实现的语言编写此解释器。 如果您选择的语言是已经有答案的另一种(可能是更流行的)语言的琐碎变体(请考虑使用BASIC或SQL方言,Unix shell或琐碎的Brainfuck派生词,例如Headsecks或Unary),请考虑在现有答案中添加注释在其他语言中,相同或非常相似的解决方案也是最短的。 测试素性内置功能是允许的。这项挑战旨在将每种语言的最短解决方案归类,因此,如果使用您的语言的内置版本更短,那就去吧。 除非之前已否决它们,否则所有标准的代码高尔夫球规则都适用,包括http://meta.codegolf.stackexchange.com/q/1061。 附带说明一下,请不要在无聊的语言中打扰无聊(但有效)的答案;这些对于这个问题仍然很有用,因为它试图编译尽可能完整的目录。但是,主要是用作者实际上不得不努力打出代码的语言来提高答案的准确性。 目录 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言的最短解决方案列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, 43 + ...

16
我的滑动方式合法吗?
大多数Android智能手机都允许用户使用滑动模式打开手机: 某些模式是合法的,而其他则是不可能的。给定输入滑动模式,请返回真或假,以指示给定的输入模式是否合法。 输入项 网格标记为逐行1到9: 1 2 3 4 5 6 7 8 9 输入是一个从头到尾访问的节点组成的数字。例如,上方的滑动模式为12357。 输入可以是十进制数字,字符串或数字列表。它不会包含0,因为没有节点0。 修订:由于许多语言都从0开始索引,因此允许索引0-8。如果您使用0-8,则必须在答案的开头进行说明,并相应地调整测试用例。 规则 每个节点一开始都没有访问,只能访问一次。任何多次访问节点的模式都是错误的。 真实模式必须至少包含一次滑动,因此至少2个节点。 不可能直接跳过另一个未访问的节点。例如,13是虚假的,因为未访问2且直接在线。 只能跳过访问的节点。42631就是一个例子。 否则,线可能会交叉。例如,1524是真实的。 假设节点的宽度微不足道,并且忽略了实际问题(手指的厚度等)。因此,即使在现实中可能很难实现,但16是真实的。 测试用例 1 -> false 12 -> true 13 -> false 16 -> true 31 -> false 33 -> false 137 -> false 582 -> true 519 -> ...

1
“不知道”还是“不知道”?
编写一个程序,处理缠结字符串的ASCII艺术表现形式,并确定是否可以将其解缠为简单循环。纠结使用字符表示-并|表示水平和垂直段,以及+代表角。字符串经过其自身的位置如下所示: | | ------- ---|--- | | (Horizontal segment on top) (Vertical segment on top) 字符串的两端连接在一起;没有松散的结局。 如果您的程序确定无法将字符串解开成简单的循环,则应输出单词KNOT。否则,应输出单词NOT。 这是一个代码挑战,因此最短的有效答案(以源代码的字节为单位)将获胜。 限度 ASCII输入最多包含25行,每行80个字符。您可以假定所有行都用相同长度的空格填充。 例子 输入: +-------+ +-------+ | | | | | +---|----+ +-------+ | | | | | | +-------|------------|---+ | | | | +---+ +---+ 输出: KNOT 输入: +----------+ | | ...

30
我是回文集。你是?
已经有几个先前 尝试问这个问题,但也符合本网站现代化标准。根据对Meta的讨论,我将其重新发布,以允许在我们现代规则集下进行公平竞争。 背景 甲回文是一个字符串,“读取相同的向前和向后”,即字符串的反向相同字符串本身。我们在这里不是在谈论“方便回文”,而是严格的逐字符反转。例如,()()不是回文,而是())(。 任务 编写一个程序或函数,该程序或函数将字符串S(或您所用语言的适当等价形式)作为输入,并具有一个输出Q(您选择的类型)。您可以使用任何合理的方式获取输入并提供输出。 当输入S是回文时,输出Q应该具有值A(对于任何回文S而言都是相同的)。 当输入S不是回文时,输出Q应该具有值B(对于任何非回文S而言都是相同的)。 A和B必须彼此不同。 换句话说,将所有回文映射到一个值,将所有非回文映射到另一个值。 另外,您编写的程序或函数本身必须是回文式(即其源代码必须是回文式),这成为源代码受限的挑战。 澄清说明 尽管true和false是A和B的明显选择,但是您可以对“是回文”和“不是回文”输出使用任意两个不同的值,而不必是布尔值。 我们在这里在字符级别定义字符串反转;éé不管程序是以UTF-8还是Latin-1编码,它都是回文,即使它不是UTF-8编码后的八位字节回文序列。 但是,即使您的程序包含非ASCII字符,它也只需要用于ASCII输入即可。具体来说,输入S将仅包含可打印的ASCII字符(包括空格,但不包括换行符)。除其他外,这意味着,如果将输入视为字节序列而不是字符序列,则程序仍可能符合规范(除非您语言的I / O编码很奇怪)。因此,仅在检查程序具有正确的形式时,前一项目符号中回文的定义才真正重要。 将程序隐藏在注释或字符串文字中的一半是合法的,尽管这是不合法的。您的评分是根据长度而不是创造力进行的,因此请随意使用“无聊”的方法来确保您的程序是回文。当然,由于您的评分很长,因此程序中什么都不做的部分会使您的成绩更差,因此,如果可以管理程序,则可以同时使用程序的两半。 由于胜利标准是以字节为单位的,因此您需要指定编写程序的编码,以便能够对其进行评分(尽管在许多情况下,很明显您正在使用哪种编码)。 胜利标准 即使该程序需要在字符级别上成为回文,但我们仍使用字节来查看谁获胜。具体来说,程序越短(以字节为单位)越好;这是一个代码高尔夫挑战。为了允许比较提交(尤其是使用相同语言的提交),请将程序的字节数放在提交的标头中(如果字符数与字节数不同,则加上字符数)。

30
会停止吗?(警察)
这是警察的话题。强盗的线索在这里。 您的挑战是要使一个程序永久运行而不暂停1,除非它获得一个或多个特定输入2。如果接收到该输入,则它必须在有限的时间3内终止。这是代码高尔夫球,因此,在获胜后的一周内,没有被强盗破解的最短答案。经过一周之后,请标记为安全答案,并显示暂停输入(中的> ! spoiler quote)。如果强盗破解了您的提交,请将其标记为“已破解”,并显示暂停输入(中的> ! spoiler quote)。 提交最好在TIO上可运行且可破解。允许在TIO上无法运行或破解的提交,但请提供下载/运行的说明。 请确定您的输入是确定的,并在所有运行中保持一致。有关详细信息,请参见此meta帖子。 请不要“实施RSA”或对强盗有任何意义的东西。使用晦涩的语言和功能,不要无聊的加密和散列。我无法使用规则来强制执行此操作,但是如果您所做的只是,您可以期望获得好评sha(input) === "abcd1234"。 1假设计算机不会关闭,破裂,被太阳吞没,宇宙热死机中的过热或TIO超时60秒。 2该程序必须在至少一个输入上停止。只要它在一个输入上永远循环并在另一个输入上停止,它就起作用。 3这必须少于60秒,以便可以在TIO上测试代码。 寻找完整的作品? fetch("https://api.stackexchange.com/2.2/questions/135363/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = ...

30
该字符串可以用作字符串吗?
编写一个程序,该程序采用一个单行字符串,您可以假定该字符串仅包含字符/\_‾。(这是正斜杠和反斜杠,下划线和上划线。~由于上划线不是方便的ASCII,因此如果需要,可以使用上划线代替。) 例如,一种可能的输入是: __/‾‾\/\_/‾ 您的程序需要输出真值或假值,具体取决于字符串的左边缘是否通过字符的行“连接”到了字符串的右边缘。因此,如果字距调整少了一点,那么从左边缘到右端将一直有一条纯黑色(尽管是扭曲的)线条,就像一条不间断的弦线或麻线。 上面示例的输出为true,因为连接了边: 要明确连接: / 连接在其左下角和右上角 \ 连接在其左上方和右下方 _ 连接在其左下角和右下角 ‾(或~)连接在其左上角和右上角 也: 字符串的边缘是从顶部开始还是从底部开始都无关紧要,只需要在整个字符串的水平方向上水平连接即可。 您可以假设输入字符串为非空,当然只有一行。 以下是一些其他示例,如果已连接,则后面跟有1(真),否则则后面是0(虚假): __/‾‾\/\_/‾ 1 _ 1 \ 1 / 1 ‾ 1 ___ 1 \/ 1 /\/ 1 /\/\ 1 ‾‾‾ 1 \\ 0 ‾‾ 1 _‾ 0 ‾_ 0 \_____/ 1 \/\\/\\___ 0 \/\__/‾‾\ ...

30
检测MS Windows
挑战 创建一个程序,该程序在Microsoft Windows上运行时返回真实值(为简单起见,我们将坚持使用Windows 7、8.1和10),而在任何其他操作系统(OSX,FreeBSD,Linux)上运行时则返回假值。 规则 无法在平台上运行/编译的代码不算作假值。 获奖标准 我将其标记为code-golf,因此得分最低者获胜,但是我也非常有兴趣看到针对该问题的创造性解决方案。

30
“ a”和“ b”的数量必须相等。你有电脑吗?
在彼得·林茨(Peter Linz )的一本流行(且必不可少的)计算机科学书籍《形式语言和自动机简介》中,经常提到以下形式语言: 主要是因为无法使用有限状态自动机处理该语言。此表达式的意思是“语言L由'a'的所有字符串组成,后跟'b',其中'a'和'b'的数量相等且非零”。 挑战 编写一个工作程序/函数,该程序将获取仅包含“ a”和“ b”的字符串作为输入,并返回/输出真值,并说出该字符串是否对形式语言L有效。 您的程序不能使用任何外部计算工具,包括网络,外部程序等。Shell是此规则的例外;例如,Bash可以使用命令行实用程序。 您的程序必须以“逻辑”方式返回/输出结果,例如:返回10而不是0,“哔”声,输出到stdout等。此处有更多信息。 适用标准代码高尔夫规则。 这是一个代码高尔夫球。以字节为单位的最短代码获胜。祝好运! 真实的测试案例 "ab" "aabb" "aaabbb" "aaaabbbb" "aaaaabbbbb" "aaaaaabbbbbb" 虚假的测试用例 "" "a" "b" "aa" "ba" "bb" "aaa" "aab" "aba" "abb" "baa" "bab" "bba" "bbb" "aaaa" "aaab" "aaba" "abaa" "abab" "abba" "abbb" "baaa" "baab" "baba" "babb" "bbaa" "bbab" "bbba" "bbbb"

30
无差别编程
如果每个字符串的字符出现相同的次数并且至少出现两次,那么我们说该字符串是不歧视的。 例子 "aa!1 1 !a !1"是非歧视性的,因为每个字符 ,!,a和1出现三次。 "abbaabb"是不是 不歧视的,因为b往往会出现a。 "abc"也不会造成 歧视,因为字符不会出现至少两次。 任务 写一个非歧视性的程序或函数返回一个truthy如果给定的字符串值,非歧视的和falsy否则值。 也就是说,以自己的源代码运行的程序应返回真实值。 每个提交都必须能够处理包含可打印ASCII的非空字符串,以及出现在提交源代码中的所有字符。 测试用例 真相: <your program's source code> "aaaa" "aa!1 1 !a !1" "aabbccddeeffgg" "1Q!V_fSiA6Bri{|}tkDM]VjNJ=^_4(a&=?5oYa,1wh|R4YKU #9c!#Q T&f`:sm$@Xv-ugW<P)l}WP>F'jl3xmd'9Ie$MN;TrCBC/tZIL*G27byEn.g0kKhbR%>G-.5pHcL0)JZ`s:*[x2Sz68%v^Ho8+[e,{OAqn?3E<OFwX(;@yu]+z7/pdqUD" 虚假: "a" "abbaabb" "abc" "bQf6ScA5d:4_aJ)D]2*^Mv(E}Kb7o@]krevW?eT0FW;I|J:ix %9!3Fwm;*UZGH`8tV>gy1xX<S/OA7NtB'}c u'V$L,YlYp{#[..j&gTk8jp-6RlGUL#_<^0CCZKPQfD2%s)he-BMRu1n?qdi/!5q=wn$ora+X,POzzHNh=(4{m`39I|s[+E@&y>"

30
这种关系令人毛骨悚然吗?
根据该XKCD漫画,有一个公式可以确定关系中的年龄差距是否“令人毛骨悚然”。该公式定义为: (Age/2) + 7 是您可以约会的最低年龄。 因此,如果一个关系中的任何一个人都比另一个人的最小年龄年轻,那么这个关系就是令人毛骨悚然的。 考虑到两个人的年龄,您能否输出这种关系是否令人毛骨悚然? 规则 您的程序应使用两个整数作为输入,关系中两个人的年龄。这些可以采用任何合理的格式。 然后,您的程序必须输出一个真实或虚假的值,描述该关系是否为“令人毛骨悚然的”(Truthy = Creepy)。 不允许出现标准漏洞。 这个难题是Code Golf,因此以最短的源代码(以字节为单位)的答案会胜出 测试用例 40, 40 - Not Creepy 18, 21 - Not Creepy 80, 32 - Creepy 15, 50 - Creepy 47, 10000 - Creepy 37, 38 - Not Creepy 22, 18 - Not Creepy

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH ...
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

28
计算Phi(非Pi)
不,我不是说ϕ = 1.618...和π = 3.14159...。我的意思是功能。 φ(x)的是一个整数小于或等于的数量x互质到x。 π(x)是小于或等于的素数x。 假设“非pi”为π̅(x),并将其定义为小于或等于的复合数x。 任务 给定一个严格的正整数x,计算φ(π̅(x))。得分以字节为单位。 例子 每行包括输入(从1到100,包括1和100),以及由空格分隔的相应输出。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 4 ...
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  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 

30
我是粗鲁的号码吗?
现在有一段时间,我指望手指时一直遇到问题,特别是我只能数到十。我对这个问题的解决方案是用手指数二进制,将拇指放一个,食指放两个,拇指和食指放三个,等等。但是,当我们进入四号。具体而言,它要求我们举起中指,这会导致一个相当不幸的手势,这在社会上通常是不可接受的。这种数字是粗鲁的数字。当我们抬起第二只手的拇指和第一只手的中指时,我们到达下一个粗鲁的数字36。原始数字的定义是在这种计数系统下导致我们仅输入任何手的中指。一旦我们超过了1023(一个人可以达到的最大数目,两只手各五个手指),就假设我们继续第三只手,并根据需要添加其他手。 你的任务: 编写一个程序或函数,该程序或函数接收输入,并根据输入是否为粗鲁的数字输出真/假值。 输入: 0到10 9(含)之间的整数。 输出: 真/假值,指示输入是否为粗鲁的数字。 测试用例: Input: Output: 0 ---> falsy 3 ---> falsy 4 ---> truthy 25 ---> falsy 36 ---> truthy 127 ---> falsy 131 ---> truthy 得分: 这是代码高尔夫球,因此以字节为单位的最低分数获胜。

30
魔术聚会:朋友还是敌人?
在纸牌游戏《魔术:聚会》中,有五种不同的颜色,代表纸牌的松散隶属关系,白色(W),蓝色(U),黑色(B),红色(R)和绿色(G)。这些通常以五边形排列如下: W G U R B 在MtG的知识以及许多卡片机制中,此五边形中的相邻颜色通常被视为盟友,而不相邻(相反)的颜色则被视为敌人。 在此挑战中,将为您提供两种颜色,并应确定它们之间的关系。 挑战 您会从集合中获得两个不同的字符BGRUW。您可以将它们视为两个字符的字符串,在字符之间带有定界符的字符串,两个单独的字符值,两个单例字符串,两个代表其代码点的整数,或包含两个字符/字符串/整数的列表或集合类型。 您的输出应该是您选择的两个不同且一致的值之一,一个表示两种颜色是同盟,另一种表示它们是敌人。这两个值之一可能根本没有输出。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 只有20种可能的输入,因此我将全部列出。 好友: WU UB BR RG GW UW BU RB GR WG 敌人: WB UR BG RW GU BW RU GB WR UG

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.