编程题:博弈
解决了这项繁琐的任务后,米尔科决定和他的好朋友斯拉夫科玩一个游戏。
他们在一张纸上写了$$N$$个字母的序列。他们每个人都试图用序列中的字母拼凑出一个单词。他们轮流从序列中删除一个字母,并将其附加到单词末尾。米尔科有第一次机会。当序列中没有剩余字母时,游戏结束。
如果一个词按字母顺序排在第一位,我们会把它定义为比另一个词更美。在游戏结束时拥有更漂亮单词的玩家获胜。如果两个玩家的话语权相等,他们都会输。
米尔科是一个比斯拉夫科好得多的球员,所以他决定通过总是选择序列中最右边的字母来让斯拉夫科变得更容易。知道了这一点,斯拉夫科想知道他是否有可能获胜,以及他能用什么来结束这场比赛。
### 输入格式:
第一行输入包含一个偶数正整数$$N(2≤N≤100000)$$。
第二行输入包含$$N$$个字符,即起始字母序列。所有字符都是英文字母表中的小写字母。
### 输出格式:
如果斯拉夫科有可能获胜,第一行输出必须包含“$$DA$$”,否则必须包含“$$NE$$”。
第二行输出必须包含斯拉夫科在比赛结束时所能拥有的文字。
### 输入样例1:
in
2
ne
### 输出样例1:
out
NE
n
### 输入样例2:
in
4
kava
### 输出样例2:
out
DA
ak
### 输入样例3:
in
8
cokolada
### 输出样例3:
out
DA
acko
答案:若无答案欢迎评论
他们在一张纸上写了$$N$$个字母的序列。他们每个人都试图用序列中的字母拼凑出一个单词。他们轮流从序列中删除一个字母,并将其附加到单词末尾。米尔科有第一次机会。当序列中没有剩余字母时,游戏结束。
如果一个词按字母顺序排在第一位,我们会把它定义为比另一个词更美。在游戏结束时拥有更漂亮单词的玩家获胜。如果两个玩家的话语权相等,他们都会输。
米尔科是一个比斯拉夫科好得多的球员,所以他决定通过总是选择序列中最右边的字母来让斯拉夫科变得更容易。知道了这一点,斯拉夫科想知道他是否有可能获胜,以及他能用什么来结束这场比赛。
### 输入格式:
第一行输入包含一个偶数正整数$$N(2≤N≤100000)$$。
第二行输入包含$$N$$个字符,即起始字母序列。所有字符都是英文字母表中的小写字母。
### 输出格式:
如果斯拉夫科有可能获胜,第一行输出必须包含“$$DA$$”,否则必须包含“$$NE$$”。
第二行输出必须包含斯拉夫科在比赛结束时所能拥有的文字。
### 输入样例1:
in
2
ne
### 输出样例1:
out
NE
n
### 输入样例2:
in
4
kava
### 输出样例2:
out
DA
ak
### 输入样例3:
in
8
cokolada
### 输出样例3:
out
DA
acko
答案:若无答案欢迎评论