有人可以解释下面列出的博弈论问题的解决方案

时间:2019-01-27 15:38:58

标签: algorithm game-theory

问题陈述: 安德鲁,费多和亚历克斯都是有创造力的人。现在他们发明了带有两个玩家弦的游戏。

给出一组n个非空字符串。在游戏中,两个玩家共同构筑单词,最初单词是空的。玩家轮流移动。在他的脚下,演奏者必须在单词的末尾添加一个字母,结果单词必须是该组中至少一个字符串的前缀。如果玩家无法移动,他将会输。

安德鲁(Andrew)和亚历克斯(Alex)决定玩此游戏k次。第i场比赛的输家是第(i + 1)场比赛的第一步。伙计们认为,所有游戏的赢家都是赢得最后(第k个)游戏的玩家。安德鲁和亚历克斯已经开始游戏。 Fedor想知道如果两个玩家都能发挥出最佳状态,谁会赢得比赛。帮助他。

输入 第一行包含两个整数n和k(1≤n≤105; 1≤k≤109)。

接下来的n行中的每一行都包含来自给定组的单个非空字符串。该组中所有字符串的总长度不超过105。该组中的每个字符串仅包含小写英文字母。

输出 如果先移动的玩家获胜,则打印“ First”,否则打印“ Second”(不带引号)。

示例:

1 2
ab

输出:Second

尤其是下面的输出我听不懂

4 2
aaaa
bbbb
ccccc
dumbavumba

陪审团的回答:First

1 个答案:

答案 0 :(得分:0)

我们有4个字符串:“ aaaa”,“ bbbb”,“ ccccc”和“ dumbavumba”,所有游戏的获胜者是第二局(k = 2)的获胜者,输出为 First < / strong>。

如果我首先开始游戏,我只有一个获胜的解决方案,那就是以字母“ c”开头,因为字符串“ ccccc”是唯一长度等于奇数的字符串。在第五步,我将第一局。

第二玩家必须使用剩​​余的一些弦开始第二(最后)游戏。其余所有字符串均由偶数个字母组成,这意味着我将赢得第二场比赛,并将成为所有比赛的获胜者。