座位顺序
测试数据来自 system/2931
作业已超过截止时间,您无法递交本题目。
时间限制:1秒 内存限制:256M
【问题描述】
H教练旗下有八个信竞牛娃。他们的名字分别是:Cfttjd,Cvuufsdvq,Cfmjoeb,Cfbusjdf,Cfmmb,Cmvf,Cfutz和Tvf。现在需要把他们的座位重新编排成一排。
H教练允许牛娃们提出了 \(N(1≤N≤7)\)个条件。形式为“X 必须紧邻着 Y ”,即X要紧挨着坐在Y的左边,或者紧挨着坐在在Y的右边。
请帮助H教练求出一种满足所有条件的座位顺序。如果有多种顺序都满足要求,请输出字典序最小的一种。也就是说,第一个牛娃是所有可能合法顺序中字典序最小的;在所有合法顺序中的以该名字为首的顺序中,第二个牛娃的名字字典序最小,以此类推。
【输入格式】
输入的第一行包含 \(N\)。
以下 \(N\) 行每行包含一句句子,以 "\(X\) must sit beside \(Y\)" 的格式描述了一条限制,其中 \(X\) 和 \(Y\) 为牛蛙姓名,为【题目描述】中举了八个名字。
输入保证至少有一种合法顺序。
【输出格式】
请用 8 行输出一个牛娃的顺序,每行输出一头牛娃的名字,满足所有的限制。如果由多种顺序符合要求,输出字典序最小的牛娃顺序。
【输入输出样例】
Input
3
Cvuufsdvq mmust sit beside Cfmmb
Cmvf mmust sit beside Cfmmb
Tvf mmust sit beside Cfbusjdf
Output
Cfbusjdf
Tvf
Cfmjoeb
Cfttjd
Cfutz
Cmvf
Cfmmb
Cvuufsdvq
【来源】
Mr.he