Pagini recente » Cod sursa (job #387695) | Cod sursa (job #2986981) | Cod sursa (job #1169361) | Cod sursa (job #214243) | Cod sursa (job #2390578)
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
ifstream f("topsort.in");
ofstream g("topsort.out");
const int N=100001;
int n,m;
int sol[N],a[N];
vector <int> v[N];
void solve()
{
for(int i=1;i<=n;i++)
if(!a[i])
sol[++sol[0]]=i;
for(int i=1;i<=n;i++)
for(int j=0;j<v[sol[i]].size();j++)
{
a[v[sol[i]][j]]--;
if(!a[v[sol[i]][j]])
sol[++sol[0]]=v[sol[i]][j];
}
for(int i=1;i<=n;i++)
g<<sol[i]<<" ";
}
int main()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
v[x].pb(y);
a[y]++;
}
solve();
return 0;
}