Pagini recente » Cod sursa (job #2740893) | Cod sursa (job #1183914) | Cod sursa (job #362376) | Cod sursa (job #1688063) | Cod sursa (job #1921131)
#include <fstream>
#include <vector>
#include <algorithm>
#include <iostream>
std::ofstream fout("sortaret.out");
void read(std::vector < int > v[], int &n) {
int m, x, y;
std::ifstream fin("sortaret.in");
fin >> n >> m;
for (int i = 0; i < m; i++) {
fin >> x >> y;
v[x].push_back(y);
}
fin.close();
}
void dfs(std::vector < int > v[], int viz[50001], int src) {
fout << src << " ";
viz[src] = 1;
for (int i = 0; i < v[src].size(); i++) {
if (!viz[v[src][i]]) {
dfs(v, viz, v[src][i]);
}
}
}
int main(int argc, char *argv[]) {
int n, viz[50001] = { 0 };
std::vector < int > v[50001];
read(v, n);
for (int i = 1; i <= n; i++) {
std::sort(v[i].begin(), v[i].end());
}
for (int i = 1; i <= n; i++) {
if (!viz[i]) {
dfs(v, viz, i);
}
}
return 0;
}