Pagini recente » Cod sursa (job #1736437) | Cod sursa (job #336784) | Cod sursa (job #2247390) | Cod sursa (job #2010789) | Cod sursa (job #1984489)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int t[2][100001], start[100001], N, M, viz[100001], sol[100001];
int nrsol;
void DFS(int nod)
{
viz[nod] = 1;
int man = start[nod];
while(man)
{
if(viz[t[0][man]])
DFS(t[0][man]);
man = t[1][man];
}
sol[++nrsol] = nod;
}
void rezolvare()
{
for(int i = 1; i <= N; i++)
if(!viz[i])
DFS(i);
for(int i = N; i >= 1; i--)
g<<sol[i]<<" ";
}
int main()
{int i, j, k = 0, x, y;
f>>N >>M;
for(i = 1; i <= M; i++){
f>>x >>y;
k ++;
t[0][k] = y;
t[1][k] = start[x];
start[x] = k;
}
rezolvare();
return 0;
}