Pagini recente » Cod sursa (job #563249) | Cod sursa (job #2665462) | Cod sursa (job #894259) | Cod sursa (job #2357267) | Cod sursa (job #2376182)
#include <bits/stdc++.h>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
const int NMAX = 50005;
vector<int> v[NMAX];
vector<int> sol;
int n,m,x,y,ultim;
int t[NMAX];
bool viz[NMAX];
void DFS(int nod)
{
viz[nod] = true;
for (vector<int> :: iterator it = v[nod].begin(); it != v[nod].end(); ++it)
{
if (viz[*it] == false) DFS(*it);
}
sol.push_back(nod);
}
int main()
{
in>>n>>m;
for(int i = 1;i <= m;i++)
{
in>>x>>y;
v[x].push_back(y);
//t[y] = 1;
}
for (int i = 1;i <= n;++i)
if (t[i] == 0 && viz[i] == false) DFS(i);
for (int i = sol.size() - 1;i >= 0;--i) out<<sol[i]<<" ";
return 0;
}