#P2570. Fiber Network

Fiber Network

中文题面:

描述

若干家初创公司决定共同构建一个更优质的互联网,称为“光纤网”(FiberNet)。这些公司已在全球范围安装了许多充当路由器的节点。不幸的是,他们在连接线路的问题上发生了争执,最终每家公司都自行铺设了部分节点之间的电缆。

现在,希望从节点AA向节点BB传输数据的服务提供商好奇,究竟有哪些公司能够提供所需的连接。请通过回答这些查询来帮助服务提供商。

输入

输入包含多个测试用例。每个测试用例以网络中的节点数nn开头。当n=0n=0时输入结束。否则,1n2001≤n≤200

节点编号为1,,n1,…,n。接下来是一组连接信息。每条连接以两个数字ABA、B开头。当A=B=0A=B=0时连接列表结束。否则,1A,Bn1≤A,B≤n,分别表示单向连接的起点和终点。

对于每条连接,这两个节点之后跟随能够提供该连接(从AABB)的公司标识符。公司用小写字母标识,拥有该连接的公司集合由一个小写字母组成的字符串表示。

在连接列表之后,每个测试用例包含一组查询。每个查询由两个数字ABA、B组成。当A=B=0A=B=0时查询列表结束(同时也标志着当前测试用例的结束)。否则,1A,Bn1≤A,B≤n,分别表示查询的起点和终点。

可以保证不存在连接或查询的起点与终点相同的情况。

输出:

对于每个测试用例中的每个查询,输出一行,包含所有能够仅通过自身连接将数据包从查询起点路由到终点的公司标识符。

若无符合条件的公司,则输出“-”。每个测试用例的输出结束后需输出一个空行。

输入数据 1

3
1 2 abc
2 3 ad
1 3 b
3 1 de
0 0
1 3
2 1
3 2
0 0
2
1 2 z
0 0
1 2
2 1
0 0
0

输出数据 1

d
-

z
-

来源

ACM国际大学生程序设计竞赛(ACM-ICPC) 德国乌尔姆大学分站赛