Pagini recente » Cod sursa (job #96229) | Cod sursa (job #1265281) | Cod sursa (job #2548103) | Cod sursa (job #1597227) | Cod sursa (job #1635925)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector <int> v[50001];
int q[50001],gre[50001],n,m;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void sol(){
int i,x,j,l=0;
for(i=1;i<=n;i++)
if(gre[i]==0) q[++l]=i;;
for(i=1;i<=n;i++)
{ x=q[i];
for(j=0;j<v[x].size();j++)
{
gre[v[x][j]]--;
if(gre[v[x][j]]==0) q[++l]=v[x][j];
}
}
}
int main()
{ int x,y,i,j;
f>>n>>m;
for(i=1;i<=m;i++)
f>>x>>y, v[x].push_back(y),gre[y]++;
sol();
for(i=1;i<=n;i++)
g<<q[i]<<" ";
f.close();
g.close();
return 0;
}