有一张由 个点, 条边组成的有向图,每个点能且仅能被染为黑色或白色两种颜色。我们称这个图中的一条边被称为是 核心边,当且仅当这条边的起点为黑色,终点为白色。 你需要构造一种给每个点黑白染色的方案,使得此时这个图的 核心边 数量不少于 。 为了证明你确实构造出了这样的染色方案,你需要输出在你的构造方案下所有 核心边 的编号。
输入描述:
输入包含多组测试数据。第一行包含一个整数 (),代表测试数据的组数。接下来的输入中会按顺序给出每组测试数据。在每组测试数据中,第一行包含两个正整数 () 和 (),代表该有向图中的点数和边数。接下来输入 行,每行包含两个正整数 (),表示存在一条从点 到达点 的有向边,这些边按照输入顺序依次编号为 。数据保证各个一定存在至少一个可能的解,但是不保证有向图中不存在重边。
输出描述:
对于每组测试数据:第一行输出一个整数 ,代表你构造的染色方案下核心边的总数;第二行输出 个整数,代表核心边的编号,输出的顺序不做限制。如果存在多种可能的解,你可以输出任意一个符合题意的解。
示例1
输入
2
3 3
1 2
2 3
3 1
4 4
1 2
2 3
3 4
1 4
加载中...