Pagini recente » Monitorul de evaluare | Diferente pentru warm-up-2019/solutii/shoturi intre reviziile 64 si 99 | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #295061)
Cod sursa(job #295061)
#include<iostream>
#include<stdio.h>
#include<vector>
#define MAX 100010
using namespace std;
vector <int> a[MAX],v(MAX,0),sorted;
int n,m,x,y,i;
void dfs(int nod)
{
vector <int> ::iterator it;
v[nod]=1;
for(it=a[nod].begin();it!=a[nod].end();it++)
if(!v[*it])
dfs(*it);
sorted.push_back(nod);
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
a[x].push_back(y);
}
for(i=1;i<=n;i++)
if(!v[i])
dfs(i);
while(!sorted.empty())
{
printf("%d ",sorted.back());
sorted.pop_back();
}
printf("\n");
return 0;
}