如果是 WA 可能是数组开小了。
const int N = 1e6 + 5, M = 1e5 + 5; struct M { int en, first[2100005]; struct edge { int e, next; }ed[N * 10 + 10000]; //要开这么大才行 void add_edge(int s, int e) { en++; ed[en].e = e; ed[en].next = first[s]; first[s] = en; } }a, b;