#1071. Wordle
Wordle
题目背景
最近小 迷上了 wordle 这款游戏。然而由于他太菜,总是不能猜出正确的单词,这使他相当恼火。
以下是游戏规则:
小 听说小 拥有 JavaScript 之力,可以轻松进行游戏的开挂。然而作为 C++ 忠实粉丝的小 认为 JavaScript 太 low,于是他想要使用 C++ 制作一款 Wordle 的开挂工具。
然而,作为 C++ 初学者的小 还不会编写如此复杂的代码,于是他找到了精通 oi 的你,希望你可以帮助他完成程序。
题目描述
小 会输入词库(即所有可能为答案的单词)和他所进行的猜测中每个字母的颜色。你需要根据输入数据,推测出可能的答案。
输入格式
第一行一个整数 ,表示词库中单词的数量。
接下来的 行中,第 行有一个长度为 5 的单词 ,表示可能为答案的单词。
接下来一行一个整数 ,表示猜测的次数。
接下来的 行中,第 行有一个长度为 5 的单词 ,表示每次猜测的单词;以及一个长度为 5 的字符串 ,表示每个字母的颜色,以空格分隔。
对于 中的第 个字母 :
- 若 为
#
,表示 的第 个字母出现在答案中,并且和答案中的这个字母出现的位置相同。 - 若 为
@
,表示 的第 个字母出现在答案中,但是和答案中的这个字母出现的位置不同。 - 若 为
.
,表示 的第 个字母没有出现在答案中。
例如,假的答案为 ratio
, 为 inter
,那么 为 @.#.@
,因为 的第一个字母 i
和第五个字母 r
出现在答案中但是位置不同,第三个字母 t
出现在答案中且位置相同,其余字母没有出现在答案中。
输出格式
那么输出一个长度为 5 的字符串,表示可能的答案。如果有多个可能的答案,你需要输出字典序最小的那个。
输入输出样例
3
flask
ratio
super
2
inter @.#.@
while ..@..
ratio
说明/提示
对于 的数据,保证:
- 所有 和 中没有重复的字母。
- 所有 和 中的字母均为小写,所有 仅包含
#
,@
和.
三种字符。 - 输入的词库按照字典序从小到大排列。
- ,。
相关
在下列比赛中: