Pagini recente » Cod sursa (job #1152842) | Cod sursa (job #1665348) | Cod sursa (job #2456440) | Cod sursa (job #2556223) | Cod sursa (job #1511360)
#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("sortare.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];
}
}
}
}