还没写完
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,rd[200010],cd[200010],si[200010],ans;
vector<int>vt;
void Top(){
int u,v;
queue<int>dl;
for(int i=1;i<=n;i++){
if(rd[i]==0&&cd[i]!=0){
si[i]=1;
dl.push(i);
}
}
while(!dl.empty()){
int ve;
ve=dl.front();
dl.pop();
for(int v:vt[ve]){
rd[v]--;
}
}
}
int main(){
int u,v;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>u>>v;
vt[u]=v; rd[v]++; cd[v]++;
}
Top();
return 0;
}