Pagini recente » Cod sursa (job #2905762) | Cod sursa (job #3139255) | Cod sursa (job #2118556) | Cod sursa (job #863736) | Cod sursa (job #3311392)
#include <iostream>
#include<fstream>
#include<vector>
#include<queue>
using namespace std;ifstream fin("sortaret.in");ofstream fout("sortaret.out");
vector<int>v[50001],rsp;int n,m,grad[50001],i;queue<int>q;
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++){
int a,b;
fin>>a>>b;
v[a].push_back(b);
grad[b]++;
}
for(i=1;i<=n;i++){
if(grad[i])continue;
q.push(i);
}
while(!q.empty()){
int nod=q.front();
q.pop();
rsp.push_back(nod);
for(auto x:v[nod]){
grad[x]--;
if(grad[x]==0)q.push(x);
}
}
for(i=0;i<n;i++)fout<<rsp[i]<<' ';
return 0;
}