Cod sursa(job #2072390)
| Utilizator | Data | 21 noiembrie 2017 20:11:31 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <iostream>
#include <vector>
#include <fstream>
#define nmax 50001
using namespace std;
int n,m;
bool parc[nmax];
vector <char>vect[nmax];
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void dfs(int x)
{
if(!parc[x])
{
parc[x]=1;
g<<x<<" ";
for(int i:vect[x])
dfs(i);
}
}
int main()
{
f>>n>>m;
for(int i=0,x,y;i<m;i++)
{
f>>x>>y;
vect[x].push_back(y);
}
for(int i=0;i<n;i++)
{
if(!parc[i])
dfs(i);
}
return 0;
}
