#codefestival2015okinawad. [code_festival_2015_okinawa_d]Dictionary for Shiritori Game
[code_festival_2015_okinawa_d]Dictionary for Shiritori Game
问题
在一个使用 种不同字符的国家,有一个包含 个条目的字典,每个条目都是一个单词的定义。所有种类的字符按字符 , 字符 , ..., 字符 列出。该字典的第 条目(作为一个单词)以字母 开头,以字母 结尾。
猫苏克(Cat Snuke)和沃尔夫所斯(Wolf Sothe)将使用这本字典玩一个叫做 Shiritori 的游戏。(请注意,这个游戏中的Shiritori和普通的Shiritori游戏不同。)
- 第一回合由猫苏克(Cat Snuke)开始,然后两位玩家轮流进行。
- 在第一回合中,轮到的玩家必须说出以字符 开头的单词。如果没有任何以字符 开头的单词,轮到的玩家失败。
- 对于其余的回合,轮到的玩家必须说出在前一回合从字典中说出的单词的最后一个字符开头的任何单词。如果没有适当的单词,轮到的玩家失败。
- 任何单词都可以说任意次数 。
有些字典两个玩家即使尽力也不能改变游戏的答案。在这种情况下,我们想要找出第一个玩家或第二个玩家将赢得比赛,或者游戏将永远不会结束。
将给出字典中的所有单词。我们可以假设两个玩家将尽力而为。请确定第一个玩家(猫苏克)还是第二个玩家(沃尔夫所斯)将获胜,或者游戏是否永远不会结束。
输入
输入将通过标准输入以以下格式给出。
:
- 在第一行,给出一个整数 、。
- 从第二行开始,有 行,表示字典中的所有单词。对于第 行,将通过空格分隔给出整数 和 。
可能存在以相同字符开头并以相同字符结尾的不同单词。换句话说,即使 ,当 且 时,也可能存在这种情况。
输出
假设两个玩家将尽力而为。输出一行,如果第一个玩家获胜,则输出 Snuke
;如果第二个玩家获胜,则输出 Sothe
;如果游戏永远不会结束,则输出 Draw
。
输出末尾打印一个换行符。
输入示例 1
6 5
1 2
2 3
3 4
4 2
2 5
输出示例 1
Sothe
- 第一回合,猫苏克必须说出第一个单词。
- 第二回合,如果沃尔夫所斯说出第六个单词,那么猫苏克在下一回合将没有适当的单词可说,因此沃尔夫所斯获胜。
输入示例 2
6 6
1 2
2 3
3 4
4 2
2 5
5 6
输出示例 2
Draw
输入示例 3
6 8
1 2
1 3
3 4
3 5
2 1
4 5
4 6
5 6
输出示例 3
Snuke
输入示例 4
4 8
2 3
2 3
3 4
4 1
3 1
2 2
4 2
4 3
输出示例 4
Sothe
请注意,第一个回合可能不存在适当的单词可以说出。