#P1386. Play on Words

Play on Words

P1386. 单词游戏


问题描述

一些秘密的门包含一个非常有趣的单词拼图。考古学家团队必须解决它才能打开这些门。因为没有其他方法可以打开门,所以这个拼图对我们来说非常重要。

每个门上都有许多磁性板。每块板上写有一个单词。这些板必须按照以下规则排列成一个序列:每个单词的首字母必须与前一个单词的尾字母相同。例如,单词“acm”后面可以跟单词“motorola”。你的任务是编写一个计算机程序,读取单词列表,并确定是否可以按照给定规则排列所有板,从而打开门。


输入

输入包含 TT 个测试用例。输入文件的第一行给出测试用例的数量 TT。每个测试用例以一行开始,包含一个整数 $$N(1 ≤ N ≤ 100000)$$,表示板的数量。接下来是 NN 行,每行包含一个单词。每个单词包含至少两个且最多 10001000 个小写字母,即只有 a'a'z'z' 的字母会出现。列表中可能会出现相同的单词多次。


输出

你的程序需要确定是否可以将所有板排列成一个序列,使得每个单词的首字母等于前一个单词的尾字母。列表中的所有板都必须使用,每个恰好一次。如果单词在列表中出现多次,则必须使用相应次数。

如果存在这样的排列顺序,你的程序应输出句子 "Ordering is possible."。否则,输出句子 "The door cannot be opened."。


输入示例 1

3
2
acm
ibm
3
acm
malform
mouse
2
ok
ok

输出示例 1

The door cannot be opened.
Ordering is possible.
The door cannot be opened.

来源

Central Europe 1999

如果需要进一步帮助,请告诉我!