Pagini recente » Cod sursa (job #2401264) | Cod sursa (job #1704555) | Cod sursa (job #2425768) | Cod sursa (job #2400151) | Cod sursa (job #2572337)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int m, n, Q[50005], deg[50005];
vector <int> G[50005];
int main()
{
fin>>n>>m;
for(int i=1;i<=m;i++)
{
int a, b;
fin>>a>>b;
G[a].push_back(b);
deg[b]++;
}
for(int i=1;i<=n;i++)
{
if(deg[i] == 0) Q[++Q[0]] = i;
}
vector<int>::iterator it;
for(int i=1;i<=n;i++)
{
int x = Q[i];
for(it = G[x].begin(); it != G[x].end(); it++)
{
deg[*it]--;
if(deg[*it] == 0) Q[++Q[0]] = *it;
}
}
for(int i=1;i<=n;i++)
{
fout<<Q[i]<<' ';
}
}