像其他度假的人一样,奶牛玩起了文字游戏 Boggle 的奶牛版本 Coggle。这个类似的游戏把 25 个字母骰子掷成如下矩阵:
Z C C D X
K Q M N B
U O W Z Y
F C O I J
P A Q Z T
从某个字母开始,依次走到其至多八个邻居之一,直到经过的字母拼成词典里的单词,就能组成单词并得分。
在上面的矩阵中,下面的 "$C$" 可以组成 "CAP"、"COW" 和 "COOK",但不能组成 "COD" 或 "PACK"。这个方阵能组成的完整词典单词列表是 "CAP"、"COOK"、"COW"、"OWN"、"WIT"、"WOO"、"ZOO" 和 "ZOOM"。
程序应从 dict.txt 文件读取词典。它按字母顺序排列,少于 25,000 个单词,每个单词不超过 20 个字符。实际词典以附件 dict.txt 提供,评测时位于工作目录中。
帮助 Bessie 看看自己能做得多好。读入五行,每行五个字母,表示这些骰子,求能组成多少个词典单词。同一个单词中不能使用同一枚骰子的字母两次。
统计能够组成的单词数量。它可能小于组成单词的方法数量,因为一个单词可能有多种组成方法。
输入格式
- 第 $1,\ldots,5$ 行:第 $i$ 行包含五个以空格分隔的大写字母,表示矩阵的第 $i$ 行。
输出格式
- 第 $1$ 行:一个整数,表示按上述规则能组成的词典单词数量。
样例
输入格式 1
Z C C D X
K Q M N B
U O W Z Y
F C O I J
P A Q Z T
输出格式 1
8
题目来源:Traditional,2009