B. 寻宝队的单向传送门

    传统题 1000ms 256MiB

寻宝队的单向传送门

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

宋奕霏、崔馨月、包瑞鑫和曹智钦又给校园科技节设计了一个新游戏——“传送门寻宝”!

宋奕霏画出了寻宝地图,崔馨月给每条传送通道标上了方向。她们特别提醒大家:

“这些传送门只能单向使用!能从一个地点传送到另一个地点,不代表还能原路传送回来。”

包瑞鑫准备带着大家出发。他每到一个地点,就会问:“从这里出发,有哪些传送门可以用?通道分别有多长?”

曹智钦负责播报答案:“别急,我会按目的地编号从小到大,一个一个报给你听!”

请你编写程序,帮助曹智钦保存地图并回答这些问题。

题目描述

寻宝地图上有 NN 个地点,编号为 11 至 NN,以及 MM 条单向传送通道。

每条通道用三个整数 u,v,wu,v,w 表示:可以从地点 uu 直接传送到地点 vv,通道长度为 ww。

通道有方向:u→vu\to v 不代表存在 v→uv\to u。如果两个方向的通道都存在,它们的长度也可能不同。

地图是简单有向图:没有连接地点自身的通道,也没有起点、终点都相同的重复通道。

接下来有 QQ 次查询,每次给出一个地点编号 xx。你需要找出所有以 xx 为起点的通道,并按照终点编号从小到大,输出每条通道的终点和长度。

只查询从 xx 出发的直接通道,不查询经过其他地点后能够到达的位置。查询不会改变地图。

输入格式

第一行包含三个整数 N,M,QN,M,Q,分别表示地点数量、单向通道数量和查询次数。

接下来 MM 行,每行包含三个整数 u,v,wu,v,w,表示一条从 uu 到 vv、长度为 ww 的单向通道。

接下来 QQ 行,每行包含一个整数 xx,表示查询以地点 xx 为起点的所有通道。

输出格式

按照查询的输入顺序输出结果。

对于每次查询,将所有以 xx 为起点的通道按终点编号从小到大排列。每条通道输出一行,包含两个整数:终点编号和通道长度,用一个空格分隔。

如果该地点没有向外的通道,不输出任何内容,也不输出空行、0 或其他提示文字。

不同查询的结果直接连续输出,不添加标题或分隔行。同一地点被重复查询时,需要重复输出它的全部通道信息。

样例 1

4 2 3
1 2 3
3 4 1
1
3
4
2 3
4 1

样例 1 解释

  • 查询地点 11:有一条通道 1→21\to2,长度为 33,输出 2 3。
  • 查询地点 33:有一条通道 3→43\to4,长度为 11,输出 4 1。
  • 查询地点 44:没有以 44 为起点的通道,不输出任何内容。虽然有通道到达 44,但不能反向使用。

样例 2

5 6 4
1 4 8
1 2 6
3 1 9
1 5 2
2 1 7
4 2 1
1
5
2
1
2 6
4 8
5 2
1 7
2 6
4 8
5 2

样例 2 解释

第一次查询地点 11,终点为 2,4,52,4,5,所以按这个顺序输出,即使这些通道的输入顺序不同。

第二次查询地点 55,没有向外的通道,不输出任何内容。

第三次查询地点 22,只有通道 2→12\to1,长度为 77。它与反方向的通道 1→21\to2 是两条不同的通道。

第四次再次查询地点 11,需要再次输出它的三条通道。

数据范围

对于所有测试数据:

  • 1≤N≤10001\le N\le1000。
  • 0≤M≤min⁡(100000,N(N−1))0\le M\le\min(100000,N(N-1))。
  • 1≤Q≤10001\le Q\le1000。
  • 1≤u,v,x≤N1\le u,v,x\le N,且 u≠vu\ne v。
  • 1≤w≤21474836471\le w\le2147483647,所有输入整数均在有符号 32 位 int 范围内。
  • 不存在两条起点和终点都相同的通道;反向通道允许同时存在。
  • 输入通道的顺序没有排序保证。
  • 查询地点可能重复,地图也可能存在没有出边的地点。

运行限制

  • 时间限制:11 秒。
  • 内存限制:256256 MiB。
  • 使用标准输入、标准输出。

c++语法测试一

未参加
状态
已结束
规则
XCPC
题目
3
开始于
2026-10-18 9:30
结束于
2026-10-18 11:30
持续时间
2 小时
主持人
参赛人数
6