chord:我们将chord定义为三个注释。
note:我们将note定义为1和7之间的一个数字。在音乐中,我们将1定义为do,2定义为re,3定义为fa,但是注释名并不重要。他们不会被包括在问题中,也很可能不会出现在一个黄金解决方案中。1是一个便条。0和8不是便条。正如我们稍后提到的,输入是由三个注释组成的列表,无效的注释将not显示为作为输入。所以,即使你在遇到无效输入时,打印的整首歌永远不会给你歌词,我也不在乎。(不过,我看不出这怎么会更像高尔夫。)
good chord:我们将good chord定义为:
135看起来像X X X,246和357也是如此。bad chord,而不是一个good chord。也就是说,包含1和2的和弦是bad,包含1和7的和弦也是D41。三位数,
两位数,
只有一个数字,
请注意,上述可能性已经排序,while您不应该期望您的输入排序。另外,上述可能性表示为三位数字,while您的输入将是一个从1 到 <#>7 的三个数字列表。
我不希望有一个硬编码上面的值的答案,但是如果你打算这么做,或者出于某种原因,你被允许这么做,或者因为某种原因,你被允许。
给定一个输入,决定它是否是good。返回真-y值或假-y值,真-y值(如1 )表示它是good,而假-y值(如0 )表示它是not good。不要使用诸如或\n (指示换行符)或[[]]等模糊值。
我是code-golf。
发布于 2022-05-21 14:31:04
31 D2 AD 0F AB C2 FF CF 75 F8 8D 04 12 85 D0 0F 94 C0 C3遵循类Unix系统的标准调用约定(来自systems AMD64 ABI),这将分别获取EDI和RSI中32位整数数组的长度和地址,并在AL中返回一个值。
在装配中:
.global f
f: xor edx, edx # Set EDX to 0.
r: lodsd # Load a number from the array into EAX, advancing the pointer.
bts edx, eax # Set the bit in that position in EDX to 1.
dec edi # Subtract 1 from EDI, counting down from the length.
jnz r # Jump back if that is not zero.
lea eax, [rdx+rdx] # Set EAX to 2 times EDX -- the bits move up by 1.
test eax, edx # Set flags based on the bitwise AND of EAX and EDX.
# This checks for adjacent bits being 1.
setz al # Set AL based on whether the result was zero.
ret # Return.https://codegolf.stackexchange.com/questions/247191
复制相似问题