Pagini recente » Cod sursa (job #1284120) | Cod sursa (job #1594009) | Cod sursa (job #57064) | Cod sursa (job #1258771) | Cod sursa (job #1253377)
#include <cstdio>
#include <vector>
#define N 50003
using namespace std;
int q[N],ul;
int viz[N];
vector <int> a[N];
int n,m;
void R()
{
freopen("sortaret.in","r",stdin);
scanf("%d %d",&n,&m);
int x,y;
for(int i=1; i<=m; i++)
{
scanf("%d %d",&x,&y);
a[x].push_back(y);
}
}
typedef vector <int>:: iterator IT;
void DFS(int nod)
{
viz[nod]=1;
int son;
for(IT it=a[nod].begin(); it!=a[nod].end(); it++)
{
son=*it;
if(viz[son]==0)
{
DFS(son);
}
}
//viz[nod]=2;
q[++ul]=nod;
}
int main()
{
R();
int i;
for(i=1; i<=n; i++)
if(viz[i]==0)
DFS(i);
freopen("sortaret.out","w",stdout);
for(i=ul; i>=1; i--)
printf("%d ",q[i]);
return 0;
}