数组模拟邻接表
#include<bits/stdc++.h>
using namespace std;
struct Edge
{
int next; // 下一条边的编号
int to; // 这条边到达的点
}edge[maxm];
int head[maxn], num_edge, n, m, u, v;
void add_edge(int from, int to) // 加入一条从 from 到 to的边
{
edge[++num_edge].next = head[from]
edge[num_edge].to = to;
head[from] = num_edge;
}