Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<stdio.h>#include<queue>using namespace std;const int MAXN = 100000;const int MAXM = 500000;int T;int N, M;int inDeg[MAXN + 1];int head[MAXN + 1];int p[MAXM + 1];int nextEdge[MAXM + 1];int edgeCnt;int a, b;const char * YES = "Correct";const char * NO = "Wrong";void init(){edgeCnt = 0;for(int i = 1; i <= N; i++){head[i] = inDeg[i] = 0;}for(int i = 1; i <= M; i++){nextEdge[i] = 0;}}void addEdge(int u, int v){edgeCnt++;