Pagini recente » Cod sursa (job #676910) | Cod sursa (job #546801) | Cod sursa (job #1941099) | Cod sursa (job #2876065) | Cod sursa (job #2256065)
#include <bits/stdc++.h>
#define Dim 50009
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int N,M,x,y,cnt;
bool viz[Dim];
vector < int > Vf[Dim];
stack < int >S;
void Citire()
{
f>>N>>M;
for(int i=1;i<=M;i++)
{
f>>x>>y;
Vf[x].push_back(y);
}
}
void DFS(int nod)
{
viz[nod]=1;
for(unsigned int i=0;i<Vf[nod].size();i++)
if(viz[Vf[nod][i]]==0)
DFS(Vf[nod][i]);
S.push(nod);
}
int main()
{
Citire();
for(int i=1;i<=N;i++)
if(viz[i]==0) DFS(i);
for(int i=S.size();i>=1;i--)
{
g<<S.top()<<" ";
S.pop();
}
return 0;
}