Pagini recente » Cod sursa (job #2248470) | Cod sursa (job #2094225) | Cod sursa (job #2557393) | Cod sursa (job #193279) | Cod sursa (job #3120512)
#include <fstream>
#include <vector>
using namespace std;
struct nod
{
vector <int> vec;
};
ifstream f("sortaret.in");
ofstream g("sortaret.out");
nod v[50005];
int n, m;
int aux[50005];
int viz[50005];
int ind;
void dfs(int k)
{
viz[k] = 1;
for(int i = 0; i<v[k].vec.size(); i++)
{
if(viz[v[k].vec[i]] == 0)
{
dfs(v[k].vec[i]);
}
}
ind++;
aux[ind] = k;
}
int main()
{
f>>n>>m;
int st, dr;
for(int i = 1; i<=m; i++)
{
f>>st>>dr;
v[st].vec.push_back(dr);
}
for(int i = 1; i<=n; i++)
{
if(viz[i] == 0)
{
dfs(i);
}
}
for(int i = ind; i>=1; i--)
{
g<<aux[i]<<" ";
}
return 0;
}