#2321. 猫咪喂养
猫咪喂养
Description
小可可领养了8只小猫咪。她们的名字分别是B1,B2,B3,B4,B5,B6,B7,和 S1。现在小可可每天需要喂养这些猫咪
但是她们要求小可可以一种符合 N 条规则的顺序给她们喂食(1≤N≤7)。每条规则的形式为“XX must be fed beside XY”,要求猫咪XX在喂食顺序中必须紧接在猫咪 XY 之后,或者紧接在猫咪 XY 之前。
请帮助小可可 求出一种满足所有条件的猫咪喂养顺序。保证这样的顺序是存在的。如果有多种顺序都满足要求,请输出字典序最小的一种。也就是说,第一只猫咪需要是所有可能排在任意合法猫咪顺序的第一位的猫咪中名字字典序最小的。在所有合法的以这头字典序最小的猫咪为首的猫咪顺序中,第二只猫咪需要是字典序最小的,以此类推。
Input Format
输入的第一行包含 N。以下 N行每行包含一句句子,以 "XX must be fed beside XY" 的格式描述了一条限制,其中 XX和 XY 为领养的某些猫咪的名字(上文列举了八个可能的名字)。
Output Format
请用 8 行输出一个猫咪的顺序,每行输出一只猫咪的名字,满足所有的限制。如果由多种顺序符合要求,输出字典序最小的猫咪顺序。
4
S1 must be fed beside B4
S1 must be fed beside B1
B1 must be fed beside B5
B3 must be fed beside B4
B2
B3
B4
S1
B1
B5
B6
B7