Pagini recente » Cod sursa (job #1430265) | Cod sursa (job #1995009) | Cod sursa (job #1295154) | Cod sursa (job #1725150) | Cod sursa (job #2968467)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout("sortaret.out");
const int nmax = 5e4+5;
int n,m,a,b;
int grin[nmax];
vector<int>mch[nmax];
vector<int>sol;
int main()
{
fin >> n >> m;
for(int i = 1 ; i <= m ; ++i)
{
fin >> a >> b;
grin[b]++;
mch[a].push_back(b);
}
queue<int>q;
for(int i = 1 ; i <= n ; ++i)
if(grin[i]==0)
{
q.push(i);
sol.push_back(i);
}
while(!q.empty())
{
int crt = q.front();
for(auto it:mch[crt])
{
grin[it]--;
if(!grin[it])
{
q.push(it);
sol.push_back(it);
}
}
q.pop();
}
for(auto it:sol)
fout << it << ' ';
return 0;
}