#P1370. Gossiping
Gossiping
本题没有可用的提交语言。
P1370. 传播消息
描述 某小镇有公共汽车交通系统。所有公交车线路都是环线。每条线路至少有两个站点。一些线路可能有共同的站点。当两个或多个公交车司机在某个站点相遇时,他们会互相告知各自知道的所有消息,这样离开站点后他们就知道相同的消息。所有司机同时开始驾驶,此时每个司机知道一些其他司机不知道的消息。每辆公交车一直沿着固定的线路行驶。可能有不同公交车在同一线路的不同站点开始行驶。
公交车的运行高度同步。从一个站点到下一个站点所需的时间对所有站点和线路都是相等的。
共有 n 条线路(0 < n < 20),d 名司机(和 d 辆公交车)(0 < d < 30),编号为 1 到 d,以及 s 个公交站点(0 < s < 50),编号为 1 到 s。
司机们的八卦俱乐部想知道是否每个司机在某个时间点会从同事那里了解到所有消息。编写一个程序来回答这个问题。
输入 输入由多个块组成。除了最后一个块外,每个块描述一个小镇。块的第一行包含上述的整数 n、d 和 s,用空格分隔。接下来的 2n 行描述 n 条公交线路(每条线路 2 行):第一行是相应线路的站点编号,按公交车经过的顺序排列。公交车经过该行最后一个站点后,会再次前往该行的第一个站点。第二行描述该线路上的公交车初始时所在的站点。描述由 si, di 对组成,其中 si 是线路上的站点编号,di 是驾驶该公交车的司机编号。一行中的所有 si 和 di 都用空格分隔。最后一个块只有一行,包含三个用空格分隔的零,即 0 0 0。
输出 输出包含对应输入块的行。如果输入块描述的情况中每个司机都能在某个时间点从同事那里了解到所有消息,则输出 Yes,否则输出 No。输入的最后一个“空”块在输出中没有对应的行。
输入数据 1
2 3 5
1 2 3
1 1 2 2
2 3 4 5
2 3
0 0 0
输出数据 1
Yes
来源 Central Europe 1997