Pagini recente » Cod sursa (job #27021) | Cod sursa (job #3250320) | Cod sursa (job #1804041) | Cod sursa (job #3248412) | Cod sursa (job #1152664)
#include<fstream>
#include<vector>
using namespace std;
#define Nmax 50001
#define Mmax 100001
vector<int>ListaAdiacenta[Nmax];
vector<int>spanac;
int color[Nmax];
void DFS(int a){
color[a] = 1;
for (vector<int>::iterator j = ListaAdiacenta[a].begin(); j != ListaAdiacenta[a].end(); j++){
if (color[*j] == 0)
DFS(*j);
}
color[a] = 2;
spanac.push_back(a);
}
int main(){
int n, m, x, y;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
fin >> n >> m;
for (int i = 0; i < m; i++){
fin >> x >> y;
ListaAdiacenta[x].push_back(y);
}
for (int i = 1; i <= n; i++){
if (color[i] == 0){
DFS(i);
}
}
for (vector<int>::iterator j = spanac.begin(); j != spanac.end(); j++){
fout << *j << " ";
}
return 0;
}