Pagini recente » Cod sursa (job #107137) | Cod sursa (job #1451362) | Cod sursa (job #2114298) | Cod sursa (job #2581332) | Cod sursa (job #1512473)
#include <iostream>
#include <cstdio>
using namespace std;
#include <vector>
int n,m,x,y,Gr[50001],i,j,U[50001],p,t,k;
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
vector< vector<int> > V;
scanf("%i %i",&n,&m);
for (i=0;i<=n;i++)
{
vector<int> row;
V.push_back(row);
V[i].push_back(0);
}
for (i=0;i<m;i++)
{
scanf("%i %i",&x,&y);
V[x][0]++;
V[x].push_back(y);
Gr[y]++;
}
/* for (i=1;i<=n;i++)
{
for (j=0;j<=V[i][0];j++)
cout<<V[i][j]<<" ";
cout<<'\n';
}*/
for (i=1;i<=n;i++) if (Gr[i]==0) {t++;U[t]=i;}
// cout<<p;
for (i=1;i<=n;i++)
{
cout<<U[i]<<" ";
for (j=1;j<=V[U[i]][0];j++)
{
Gr[V[U[i]][j]]--;
if (Gr[V[U[i]][j]]==0)
{
t++;
U[t]=V[U[i]][j];
}
}
}
}