Pagini recente » Cod sursa (job #1385063) | Cod sursa (job #2072340) | Cod sursa (job #2047835) | Cod sursa (job #2280149) | Cod sursa (job #3304418)
#include <bits/stdc++.h>
using namespace std;
///SOL CU BFS
int n,m;
vector<int>graph[50005];
int degree[50005];
vector<int>sortare;
void sortare_topo()
{
queue<int>q;
for(int i=1; i<=n; i++)
if(!degree[i])
q.push(i);
while(!q.empty())
{
int nod=q.front();
sortare.push_back(nod);
q.pop();
for(auto x: graph[nod])
{
degree[x]--;
if(!degree[x])
q.push(x);
}
}
}
int main()
{
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
cin>>n>>m;
for(int i=1; i<=m; i++)
{
int a,b;
cin>>a>>b;
graph[a].push_back(b);
degree[b]++;
}
sortare_topo();
for(auto x: sortare)
cout<<x<<" ";
return 0;
}