题目大意:给出一张无向图,任意两点可相互到达,现在要求你将这张无向图变成有向图,且改变之后任意两点还是可相互到达的
解题思路:桥的话肯定是要保留双向的,所以可以在dfs的时候把桥标记出来,顺便在dfs的时候标记一下使用的是哪条边即可
#include <cstdio>
#include <cstring>
#define N 1010
#define M 1000010
#define min(a,b) ((a) < (b) ? (a) : (b))
struct Edge{
int from, to, next, flag;
}E[M];
int head[N], pre[N], lowlink[N];
int tot, n, m, dfs_clock;
void AddEdge(int u, int v) {
E[tot].from = u;
E[tot].to = v;
E[tot].flag =