Pagini recente » Cod sursa (job #1393765) | Cod sursa (job #1508147) | Cod sursa (job #3283142) | Cod sursa (job #1691415) | Cod sursa (job #2663144)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
vector<int>n;
vector<vector<int>>g(50001);//matricea de adiacenta
vector<int>viz(50001);//vector noduri vizitate
void dfs(int n)
{
viz[n] = 1;
for(int i=1; i<=g[n].size(); i++)
if(viz[g[n][i]]==0)
dfs(g[n][i]);
nod.push_back(n);
}
int main()
{
int nr_varfuri,nr_arce,x,y;
cin>>nr_varfuri>>nr_arce;
for(int i=1; i<=nr_arce; i++)
{
cin>>x>>y;
g[x].push_back(y);
}
for(int i=1;i<=nr_varfuri; i++)
if(viz[i]==0)
dfs(i);
for(int i=nod.size(); i>=1; i--)
cout<<n[i]<<" ";
return 0;
}