QOJ.ac

QOJ

Time Limit: 6.0 s Memory Limit: 256 MB Total points: 100

#15915. 保护

Statistics

Byteland 最著名的画作——一幅由 Leonardo da Bitci 创作的、画中人拿着鼠标的女士肖像——需要进行修复。修复工作将在两个专业实验室中进行。修复过程被分为若干个阶段。对于每一个阶段,我们都知道它将在哪个实验室进行。

运输这幅极其珍贵且脆弱的画作会带来额外的风险;因此,应尽可能避免运输。理想情况下,所有在第一个实验室的工作都应先完成,然后将画作移至第二个实验室。不幸的是,修复阶段之间存在若干依赖关系——其中一些阶段必须在其他阶段开始之前完成。你的任务是找到一种修复阶段的排序,使得画作在两个实验室之间运输的次数最少。修复工作可以在两个实验室中的任意一个开始。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是各测试用例的描述:

每个测试用例的第一行包含两个用空格分隔的整数 $n$ 和 $m$ ($1 \leqslant n \leqslant 100\,000, 0 \leqslant m \leqslant 1\,000\,000$),分别表示修复阶段的数量和它们之间的依赖关系数量。下一行包含 $n$ 个用空格分隔的整数,其中第 $i$ 个整数如果为 $1$,表示第 $i$ 个修复阶段将在第一个实验室进行,否则为 $2$。接下来的 $m$ 行包含整数对 $i, j$ ($1 \leqslant i, j \leqslant n$),表示第 $i$ 个阶段必须在第 $j$ 个阶段之前完成。

你可以假设总能找到一种满足所有依赖关系的修复阶段排序。

输出格式

按输入中出现的顺序打印各测试用例的答案。对于每个测试用例,输出一行,包含画作在两个实验室之间需要运输的最少次数。

样例

输入 1

1
5 6
1 2 1 2 1
1 2
1 3
2 4
3 4
2 5
3 5

输出 1

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.