Pagini recente » Cod sursa (job #1098873) | Cod sursa (job #1264078) | Cod sursa (job #2425975) | Cod sursa (job #2462233) | Cod sursa (job #2140566)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#define Nmax 50005
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int n,m;
vector <int> G[Nmax];
stack <int> sol;
int v[Nmax];
void DFS (int nod)
{
int i,vec;
v[nod]=1;
for (i=0;i<G[nod].size();i++)
{
vec=G[nod][i];
if (v[vec]==0)
DFS(vec);
}
sol.push(nod);
}
int main()
{
int x,y,i;
fin>>n>>m;
for (i=1;i<=m;i++)
{
fin>>x>>y;
G[x].push_back(y);
}
for (i=1;i<=n;i++)
{
if (v[i]==0)
DFS(i);
}
while (!sol.empty())
{
fout<<sol.top()<<" ";
sol.pop();
}
fin.close();
fout.close();
return 0;
}