Pagini recente » Cod sursa (job #376112) | Cod sursa (job #2295105) | Cod sursa (job #2532720)
#include <iostream>
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<int>graf[50001];
bool viz[50001];
int n, m;
void DFS(int nod);
int main()
{
in>>n>>m;
while(m--){
int a, b;
in>>a>>b;
graf[a].push_back(b);
}
for(int nod = 1; nod<=n; ++nod){
if(viz[nod] == false){
out<<nod<<' ';
DFS(nod);
}
}
return 0;
}
///idee: merg in adancimea vecinilor si afisez nodurile
/// in ordine crescatoare dupa cum le intalnesc
void DFS(int nod){
viz[nod] = true;
for(int i = 0; i < graf[nod].size(); ++i){
int vecin = graf[nod][i];
if(viz[vecin] == false){
out<<vecin<<' ';
viz[vecin] = false;
DFS(vecin);
}
}
}