Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include<string.h>#include<queue>#include<cstdio>using namespace std;int indegree[100010]={0};int head[100100]={0};int p[500100]={0};int mynext[500100]={0};int edgecnt=0;void addedge(int u,int v){++edgecnt;p[edgecnt]=v;mynext[edgecnt]=head[u];head[u]=edgecnt;}queue<int> que;int main() {int n;scanf("%d",&n);while(n--){int len,count;scanf("%d%d",&len,&count);edgecnt=0;memset(indegree,0,sizeof(indegree));