Pagini recente » Cod sursa (job #520857) | Cod sursa (job #1742294) | Cod sursa (job #1553006) | Cod sursa (job #720785) | Cod sursa (job #1758696)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MAX_NR_NODURI 50000
#define VIZITAT 1
vector <int> nod[MAX_NR_NODURI];
long nr_muchii, nr_noduri;
int viz[MAX_NR_NODURI];
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void dfs(long crt)
{
viz[crt] = VIZITAT;
g << crt << " ";
long i, lg = nod[crt].size();
for (i = 0; i < lg; i++)
if (!viz[nod[crt][i]]){
dfs(nod[crt][i]);
}
}
int main ()
{
long a, b;
f >> nr_noduri >> nr_muchii;
for (long i = 0; i < nr_muchii; i++) {
f >> a >> b;
nod[a].push_back(b);
}
f.close();
for (long i = 1; i <= nr_noduri; i++) {
if (!viz[i]) {
dfs(i);
}
}
g << "\n";
g.close();
return 0;
}