Pagini recente » Cod sursa (job #900521) | Cod sursa (job #2544746) | Cod sursa (job #1606588) | Cod sursa (job #2103838) | Cod sursa (job #2665963)
#include<fstream>
#include<vector>
#define NMAX 100001
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<unsigned int> adjList[NMAX];
bool isVisited[NMAX];
vector<unsigned int> sortedGraph;
void dfs(unsigned int startNode) {
if (isVisited[startNode]) {
return;
}
isVisited[startNode] = true;
for (const auto& node : adjList[startNode]) {
if (!isVisited[node]) {
dfs(node);
}
}
sortedGraph.push_back(startNode);
}
void printResult() {
for (const auto & node: sortedGraph) {
out << node << ' ';
}
out << "\n";
}
int main() {
unsigned int N, M, S;
in >> N >> M >> S;
for (unsigned int i = 0; i < M; ++i) {
unsigned int startNode, endNode;
in >> startNode >> endNode;
adjList[startNode].push_back(endNode);
}
for (unsigned int node = 1; node <= N; ++node) {
if (!isVisited[node]) {
dfs(node);
}
}
printResult();
return 0;
}