Pagini recente » Borderou de evaluare (job #988045) | Cod sursa (job #3194021) | Cod sursa (job #2588798) | Cod sursa (job #1114391) | Cod sursa (job #145274)
Cod sursa(job #145274)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define pb push_back
const long MAX=50010;
vector<long> G[MAX];
long Gi[MAX];
bool U[MAX];
long n,m,i;
void df(long x) {
if ( U[x] ) return ;
U[x] = true;
for_each(G[x].begin(), G[x].end(), df);
printf("%ld ", x);
}
int main() {
freopen("sortaret.in", "r", stdin);
scanf("%ld %ld", &n, &m);
for (i=0; i<m; ++i) {
long x,y;
scanf("%ld %ld", &x, &y);
G[y].pb(x); Gi[x] ++;
}
freopen("sortaret.out", "w", stdout);
for (i=1; i<=n; ++i)
if ( !U[i] && Gi[i]==0 )
df(i);
return 0;
}