Pagini recente » Cod sursa (job #2526295) | Cod sursa (job #2157404) | Cod sursa (job #1814773) | Cod sursa (job #2811695) | Cod sursa (job #2760152)
#include <bits/stdc++.h>
#define nmax 50001
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<int> parintii(nmax,0);
vector<int> graf[nmax];
vector<bool> viz(nmax,0);
queue<int> q;
void dfs(){
while(!q.empty()){
int n=q.front();
q.pop();
if(viz[n])continue;
out<<n<<' ';
viz[n]=1;
for(auto i:graf[n]){
if(!(--parintii[i]))q.push(i);
}
}
}
int main(){
int n,m;
in>>n>>m;
for(;m;m--){
int i,j;
in>>i>>j;
graf[i].push_back(j);
parintii[j]++;
}
for(int i=1;i<=n;i++){
if(!parintii[i])q.push(i);
}
dfs();
}