Pagini recente » Cod sursa (job #1878034) | Cod sursa (job #2816246) | Cod sursa (job #441488) | Profil DianaIfrosa | Cod sursa (job #2207540)
#include<bits/stdc++.h>
using namespace std;
int main()
{
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<list<int> > G;
vector<int> grd;
queue<int> q;
vector<int> sol;
int n,m;
in>>n>>m;
G.resize(n+1);
grd.resize(n+1,0);
for(int i=1; i<=m; i++)
{
int u,v;
in>>u>>v;
G[u].push_back(v);
grd[v]++;
}
for(int i=1; i<=n; i++)
if(!grd[i])
{
q.push(i);
sol.push_back(i);
}
while(!q.empty())
{
int tp = q.front();
q.pop();
for(int i : G[tp])
{
grd[i]--;
if(!grd[i])
{
q.push(i);
sol.push_back(i);
}
}
}
for(int i: sol)
out<<i<<" ";
return 0;
}