考古学家有时候遇到一些神秘的门,这些门需要解开特定的谜题才能打开。因为没有其他方法可以打开门,这谜题对我们来说非常重要。
在门上有许多磁盘,每个盘子上有一个英文单字在上面。这些盘子必须被安排,使得盘子上的每个单字的第一个字母必须与前一个盘子的单字的最后一个字母相同。例如:acm后面可以接motorola。你的任务是写一个程序,读入所有的单字然后判断是否可以做出如上述的安排,如此来能打开门。
Input
输入的第一列有一个整数代表以下有几组测试数据。
每组测试数据的第一列,有一个整数N(1 <= N <= 100000),代表盘子的数目。接下来的N列每列有一个英文单字(最少2个,最长1000个小写字母,同样的单字可能会重复出现),代表这N个盘子上的单字。请参考Sample Input。
Output
对每一组测试数据输出一列。如果可以安排盘子的顺序,使得每个单字的第一个字母与前一个盘子的单字的最后一个字母相同,请输出Ordering is possible.,否则,请输出The door cannot be opened.
请注意:所有的盘子都要被使用到,并且都只能使用一次。
Sample Input
3
2
acm
ibm
3
acm
malform
mouse
3
dog
cat
dog
Sample Output
The door cannot be opened.
Ordering is possible.
The door cannot be opened.
时间: 2024-10-26 14:46:33