单词游戏
Description
有N个盘子,每个盘子上写着一个仅由小写字母组成的英文单词。你需要给这些盘子安排一个合适的顺序,使得相邻两个盘子中,前一个盘子上单词的末字母等于后一个盘子上单词的首字母。请你编写一个程序,判断是否能达到这一要求。如果能,请给出一个合适的顺序。
Format
Input
多组数据。
第一行给出数据组数T,每组数据第一行给出盘子数量N(1<=N<=100 000),接下去N行给出长度不超过1000的小写字母字符串,一种字符串可能出现多次。
Output
若存在一组合法解,输出“Ordering is possible.” ,否则输出“The door cannot be opened.”
Sample 1
Input
3
2
acm
ibm
3
acm
malform
mouse
2
ok
ok
Output
The door cannot be opened.
Ordering is possible.
The door cannot be opened.
Limitation
1s, 10000KiB for each test case.
Source
poj1386, hdu1116