{"problem":{"name":"出边排序 2","description":{"content":"给定一个 $n$ 个点 $m$ 条边的有向图 $G$，结点编号从 $1$ 至 $n$，每个结点有一个权值，结点 $i$ 的权值是 $w_i$。对于 $u = 1, 2, 3, \\dots n$，依次完成如下要求：   对于 $u$ 的所有出边（即从 $u$ 出发的边），按照**权值从小到大**的顺序输出出边所指向的节点编号。如果两个点的权值相同，先输出编号较小的。 **依次完成**的含义是，先按","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P2"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGB3852"},"statements":[{"statement_type":"Markdown","content":"给定一个 $n$ 个点 $m$ 条边的有向图 $G$，结点编号从 $1$ 至 $n$，每个结点有一个权值，结点 $i$ 的权值是 $w_i$。对于 $u = 1, 2, 3, \\dots n$，依次完成如下要求：  \n对于 $u$ 的所有出边（即从 $u$ 出发的边），按照**权值从小到大**的顺序输出出边所指向的节点编号。如果两个点的权值相同，先输出编号较小的。\n\n**依次完成**的含义是，先按顺序输出 $u = 1$ 的出边所指向的点的编号，再按顺序输出 $u = 2$ 的出边所指向的点的编号……最后按顺序输出 $u = n$ 的出边所指向的点的编号。\n\n## Input\n\n**本题单测试点内有多组数据**。\n\n数据的第一行是一个整数 $T$，表示数据的组数。\n\n对于每组数据的格式如下：  \n第一行是两个整数，分别表示点的个数 $n$ 和边的个数 $m$。  \n第二行有 $n$ 个整数 $w_1,w_2,\\cdots,w_n$，表示每个节点的权值。  \n接下来 $m$ 行，每行两个整数 $u, v$，表示一条由 $u$ 指向 $v$ 的边。\n\n保证每组数据内不存在重边。\n\n## Output\n\n对于每组数据：  \n输出 $n$ 行，每行若干个用空格隔开的整数。第 $i$ 行输出节点 $i$ 的出边所指向的节点编号。\n\n**注意，如果一个结点不存在出边，你同样需要输出一个空行**。\n\n[samples]\n\n## Note\n\n### 数据规模与约定\n\n对于全部的测试点，保证 $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$，每组数据内不存在重边。\n\n### 提示\n\n请注意大量读入输出对程序效率造成的影响。","is_translate":false,"language":"English"}],"meta":{"iden":"LGB3852","tags":[],"sample_group":[["2\n3 4\n1 2 3\n1 3\n1 2\n3 2\n3 1\n3 9\n1 2 3\n1 3\n2 3\n3 3\n1 2\n2 2\n3 2\n1 1\n2 1\n3 1","2 3\n\n1 2\n1 2 3\n1 2 3\n1 2 3"]],"created_at":"2026-03-03 11:09:25"}}