#P1058. The Gourmet Club
The Gourmet Club
描述
ACM市的美食俱乐部共有16位成员。他们与当地法式餐厅“Chateau Java”的老板签约,安排连续5个晚上的晚宴。他们要求被安排在4张餐桌周围,每张桌子4人。
他们还规定,在这5个晚上期间,每位俱乐部成员必须与每一位其他成员恰好共桌一次。
餐厅老板I.B. Emm先生将安排座位的任务交给了餐厅的侍者长。在第一个晚上,侍者长按照到达顺序安排了座位并记录了下来。接下来的每个晚上,他都小心地计划座位安排,以满足“不重复同桌”的要求。
不幸的是,在第四个晚上当天早晨,侍者长失踪了。Emm先生只剩下了前三个晚上的座位安排笔记。他尝试为剩下两个晚上安排座位时,才意识到这个任务并不简单。他请求你的帮助,看看剩下的两个晚上的座位安排是否还能完成。
以下是侍者长在前三个晚上的座位安排样例:
ABCD EFGH IJKL MNOP
AEIM BFJN CGKO DHLP
AFKP BGLM CHIN DEJO
俱乐部成员用字母 A 到 P 表示。
每行代表一个晚上的座位安排,每组4个字母代表一桌。因此,第一个晚上 A 与 B、C 和 D 同桌,以此类推。
你的任务是编写一个程序,读取前三晚的座位安排,并判断是否可以补全后两个晚上的安排。若能完成,就输出完整的5天座位安排;若无法完成,就提示该安排不可能完成。
输入
每组数据包含3行,每行由四组长度为4的字母组成,所有字母均为大写字母。组与组之间用空格分隔。数据组之间用空行分隔。
输出
如果该安排可以成功完成,则输出原始输入,并补充输出两行表示成功的后两晚安排。
如果无法完成该安排,则不输出原始输入,只输出:
It is not possible to complete this schedule.
每组数据的输出之间请用一个空行分隔。
输入数据 1
ABCD EFGH IJKL MNOP
AEIM BFJN CGKO DHLP
AFKP BGLM CHIN DEJO
输出数据 1
It is not possible to complete this schedule.
提示
如果存在多个解,输出其中任意一个即可。
来源
Pacific Northwest 1998