输入将是两个五个字母的单词。实际上,它们不一定是字典单词,每个单词只需要五个字母(全部小写或全部大写)即可。输入的单词中只会出现AZ,并且长度始终为5个字符。
您的程序是对他们都打分,就像他们是扑克手一样,并输出较高的手牌。当然,西装不会在这里适用,仅适用于排名,因此不会出现同花顺。
典型的扑克排名系统为:“ 1对”,“ 2对”,“ 3类”,“直发”,“满屋”,“ 4类”,“ 5类”,当然这只手(或本例中的单词)可能一文不值。
如果是平局,则认为字母A较接近,因此一对As胜过一对B。在某些情况下,两只手可能是相同的,但顺序不同(或不相同),在这种情况下,输出的要么是手,要么是手的替代版本。
该外部页面包含有关如何识别获胜者的信息,特别是解决特定排名中的平局的情况,以防您不熟悉如何得分。
如果是直线,则字母必须在字母表中相邻,并且不能环绕。因此,“ defgh”在任何顺序上都是直的,“ xyzab”则不是。
如何单手得分的示例:
word | scored as
---------------------
ccccc | 5 of a kind <-- highest ranking
woooo | 4 of a kind
opopo | full house
vurst | straight
vovvu | 3 of a kind
ppoww | 2 pairs
upper | 1 pair
kjsdf | high card only (in this case D) <-- lowest ranking
因此,该程序实际上将产生如下结果:
input | output
-----------------------
voviu,kjsdf | voviu because a pair beats nothing
opoqo,upper | opoqo because 3 of a kind beats a pair
woooo,ggegg | ggegg because 4 Gs beats 4 Os
queue,hopup | queue because 2 pairs beats 1 pair
lodpl,ddkop | ddkop because pair DD beats pair LL
huhyg,hijht | huhyg both have pair HH, but G beats I
ddffh,ccyyz | ccyyz both have 2 pairs, but CC(yyz) beats DD(ffh)
okaok,nkunk | nkunk KK ties with KK, but NN beats OO
abcdf,bcdef | bcdef because it is a straight
qtery,retyq | qtery identical! so doesnt matter
abedc,vyxwz | abedc because it is a "higher" straight
hhhij,hijkl | hijkl because straight beats 3 of a kind
aaabb,zzzzz | zzzzz because nothing beats 5 of a kind
输入和输出中字母的顺序无关紧要,因此输出中的字母顺序可以不同于输入,但是需要提供相同的字母清单。
输出必须恰好包含五个字母-不能多也不能少。
通用的代码高尔夫规则适用。最短的代码获胜。