B3852 出边排序 2

题目描述

给定一个 $n$ 个点 $m$ 条边的有向图 $G$,结点编号从 $1$ 至 $n$,每个结点有一个权值,结点 $i$ 的权值是 $w_i$。对于 $u = 1, 2, 3, \dots n$,依次完成如下要求: 对于 $u$ 的所有出边(即从 $u$ 出发的边),按照**权值从小到大**的顺序输出出边所指向的节点编号。如果两个点的权值相同,先输出编号较小的。 **依次完成**的含义是,先按顺序输出 $u = 1$ 的出边所指向的点的编号,再按顺序输出 $u = 2$ 的出边所指向的点的编号……最后按顺序输出 $u = n$ 的出边所指向的点的编号。

输入格式

**本题单测试点内有多组数据**。 数据的第一行是一个整数 $T$,表示数据的组数。 对于每组数据的格式如下: 第一行是两个整数,分别表示点的个数 $n$ 和边的个数 $m$。 第二行有 $n$ 个整数 $w_1,w_2,\cdots,w_n$,表示每个节点的权值。 接下来 $m$ 行,每行两个整数 $u, v$,表示一条由 $u$ 指向 $v$ 的边。 保证每组数据内不存在重边。

输出格式

对于每组数据: 输出 $n$ 行,每行若干个用空格隔开的整数。第 $i$ 行输出节点 $i$ 的出边所指向的节点编号。 **注意,如果一个结点不存在出边,你同样需要输出一个空行**。

说明/提示

### 数据规模与约定 对于全部的测试点,保证 $1 \leq T, n, m \leq 5 \times 10^5$,$1 \leq w_i \leq n$,但同时各测试点的 $n$ 与 $m$ 之和均不超过 $5 \times 10^5$,即 $\sum n, \sum m \leq 5 \times 10^5$。且 $1 \leq u, v \leq n$,每组数据内不存在重边。 ### 提示 请注意大量读入输出对程序效率造成的影响。