#B3852. 出边排序 2
出边排序 2
题目描述
给定一个 个点 条边的有向图 ,结点编号从 至 ,每个结点有一个权值,结点 的权值是 。对于 ,依次完成如下要求:
对于 的所有出边(即从 出发的边),按照权值从小到大的顺序输出出边所指向的节点编号。如果两个点的权值相同,先输出编号较小的。
依次完成的含义是,先按顺序输出 的出边所指向的点的编号,再按顺序输出 的出边所指向的点的编号……最后按顺序输出 的出边所指向的点的编号。
输入格式
本题单测试点内有多组数据。
数据的第一行是一个整数 ,表示数据的组数。
对于每组数据的格式如下:
第一行是两个整数,分别表示点的个数 和边的个数 。
第二行有 个整数 ,表示每个节点的权值。
接下来 行,每行两个整数 ,表示一条由 指向 的边。
保证每组数据内不存在重边。
输出格式
对于每组数据:
输出 行,每行若干个用空格隔开的整数。第 行输出节点 的出边所指向的节点编号。
注意,如果一个结点不存在出边,你同样需要输出一个空行。
2
3 4
1 2 3
1 3
1 2
3 2
3 1
3 9
1 2 3
1 3
2 3
3 3
1 2
2 2
3 2
1 1
2 1
3 1
2 3
1 2
1 2 3
1 2 3
1 2 3
提示
数据规模与约定
对于全部的测试点,保证 ,,但同时各测试点的 与 之和均不超过 ,即 。且 ,每组数据内不存在重边。
提示
请注意大量读入输出对程序效率造成的影响。