Pagini recente » Cod sursa (job #1871414) | Cod sursa (job #12141) | Cod sursa (job #2809766) | Cod sursa (job #2019273) | Cod sursa (job #2862158)
#include <bits/stdc++.h>
#define N 50005
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m,d[N];
bool viz[N];
vector<int>g[N],sol;
void DFS(int k)
{
viz[k]=1;
for(int i:g[k])
{
//d[i]--;
if(!viz[i]) DFS(i);
}
sol.push_back(k);
}
priority_queue<int,vector<int>,greater<int > >pq;
void BFS()
{
while(!pq.empty())
{
int k=pq.top();
pq.pop();
fout<<k<<" ";
for(int i:g[k])
{
d[i]--;
if(!d[i] && !viz[i]) viz[i]=1,pq.push(i);
}
}
}
int main()
{
int i,x,y;
fin>>n>>m;
while(m--) fin>>x>>y,g[x].push_back(y),d[y]++;
for(i=1;i<=n;i++)
if(!d[i]) viz[i]=1,pq.push(i);
BFS();
return 0;
}