Pagini recente » Cod sursa (job #932481) | Cod sursa (job #658848) | Cod sursa (job #1230932) | Cod sursa (job #1444428) | Cod sursa (job #1232564)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#define MAXN 50001
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m, sel[MAXN];
vector<int> graf[MAXN];
stack<int> result;
void dfs(int n)
{
sel[n] = 1;
for(int i = 0; i < graf[n].size(); i++)
{
if(sel[graf[n][i]]==0)
dfs(graf[n][i]);
}
sel[n] = 1;
result.push(n);
}
int main()
{
fin>>n>>m;
while(m--)
{
int x,y;
fin>>x>>y;
graf[x].push_back(y);
}
for(int i = 1; i <= n; i++)
{
if(sel[i]==0)
{
dfs(i);
}
}
while(!result.empty())
{
fout<<result.top()<<" ";
result.pop();
}
return 0;
}