Pagini recente » Cod sursa (job #663102) | Cod sursa (job #2813885) | Cod sursa (job #604799) | Cod sursa (job #2927579) | Cod sursa (job #1219233)
using namespace std;
#include <fstream>
#include <vector>
ifstream fin ("sortaret.in");
ofstream fout("sortaret.out");
const int Nmax = 50000;
vector <int> v[Nmax];
int ord[Nmax], nr = 0;
bool uz[Nmax];
void DFS(int) ;
int main()
{
int i, n, m, a, b;
fin >> n >> m;
for(; m; --m)
{
fin >> a >> b; --a; --b;
v[a].push_back(b);
}
for(i = 0; i < n; ++i)
if(!uz[i]) DFS(i);
for(i = n - 1; i >= 0; --i) fout << 1 + ord[i] << ' ';
fout << '\n';
return 0;
}
void DFS(int vf)
{
uz[vf] = 1;
for(vector<int>::iterator it = v[vf].begin(); it != v[vf].end(); ++it)
if(!uz[*it]) DFS(*it);
ord[nr++] = vf;
}