Pagini recente » Cod sursa (job #2342754) | Cod sursa (job #2856107) | Cod sursa (job #1392437) | Cod sursa (job #2442404) | Cod sursa (job #272253)
Cod sursa(job #272253)
#include <cstdio>
#include <vector>
#include <deque>
using namespace std;
#define maxn 50001
int n, m, v[maxn];
vector<int> L[maxn];
deque<int> D;
FILE *fin = fopen("sortaret.in", "rt"), *fout =fopen("sortaret.out", "wt");
void df(int nod)
{
int i=0;
v[nod]=1;
for (i=0; i < L[nod].size(); i++)
if (!v[L[nod][i]])
df(L[nod][i]);
D.push_front(nod);
}
int main()
{
int i=0, a,b;
fscanf(fin, "%d %d", &n, &m);
for (i=1; i <= m; i++)
{
fscanf(fin, "%d %d", &a, &b);
L[a].push_back(b);
}
for (i=1; i <= n; i++)
if (!v[i]) df(i);
for (i=0; i < D.size(); i++)
fprintf(fout, "%d ", D[i]);
fclose(fin), fclose(fout);
return 0;
}