Pagini recente » Cod sursa (job #538758) | Cod sursa (job #1945490) | Cod sursa (job #1243194) | Cod sursa (job #2412399) | Cod sursa (job #2520776)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int>adj[50005];
int viz[50005], sorta[50005];
int N,M,x,y,k;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void dfs(int nod)
{ viz[nod]=true;
int i;
for(i=0; i<adj[nod].size(); i++)
{ if(viz[adj[nod][i]]==false) {dfs(adj[nod][i]);}
}
k++;
sorta[k]=nod;
}
int main()
{
f>>N>>M; int i;
for(i=0; i<M; i++)
{ f>>x>>y;
adj[x].push_back(y);
}
for(i=1; i<=N; i++)
{ if(viz[i]==false)
dfs(i);
}
for(i=k; i>=1; i--)
{ g<<sorta[i]<< " ";
}
return 0;
}