Pagini recente » Cod sursa (job #880962) | Cod sursa (job #2683581) | Cod sursa (job #2735127) | Cod sursa (job #2604319) | Cod sursa (job #2660454)
#include <iostream>
#include <fstream>
#include <stack>
#include <vector>
using namespace std;
vector <int> L[50010];
int N, M, viz[50010];
stack <int> s;
void dfs(int nod)
{
viz[nod]=1;
for(auto i: L[nod])
if(viz[i]==0)
dfs(i);
s.push(nod);
}
int main()
{
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
f>>N>>M;
int x,y;
for (int i=0;i<M;i++)
{
f>>x>>y;
L[x].push_back(y);
}
for (int i=1;i<=N;i++)
if (!viz[i])
dfs(i);
for(int i=1;i<=N;i++)
{g<<s.top()<<" ";
s.pop();}
return 0;
}