Pagini recente » Cod sursa (job #2036463) | Cod sursa (job #2013018) | Borderou de evaluare (job #2154583) | Borderou de evaluare (job #2085968) | Cod sursa (job #879973)
Cod sursa(job #879973)
#include<fstream>
#include<vector>
#include<list>
#define dmax 50003
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n, m, color[dmax];
vector<int>v[dmax];
list<int> ls;
list<int>::iterator ir;
void dfs(int x)
{
vector<int>::iterator it;
color[x] = 1;
for(it = v[x].begin(); it < v[x].end(); it++)
if(color[*it] == 0)
{
dfs(*it);
}
color[x] = 2;
ls.push_front(x);
}
int main()
{
in>>n>>m;
for(int i=1; i<=m; i++)
{
int v1, v2;
in>>v1>>v2;
v[v1].push_back(v2);
}
in.close();
for(int i=1; i<=n; i++)
if(color[i] == 0)
{
dfs(i);
}
for(ir = ls.begin(); ir != ls.end(); ir++)
out<<*ir<<" ";
out.close();
return 0;
}