Pagini recente » Cod sursa (job #2134585) | Cod sursa (job #2792078) | Cod sursa (job #2765183) | Cod sursa (job #2632752) | Cod sursa (job #2465945)
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
#define ARRAY_MAX 100000
int N, M, X, Y;
vector <int> Edge[ARRAY_MAX];
vector <int> Result;
bitset <ARRAY_MAX> Visited;
void DFS(int Node) {
Visited[Node] = 1;
for (auto Next : Edge[Node])
if (!Visited[Next])
DFS(Next);
Result.push_back(Node);
}
void Read() {
fin >> N >> M;
for (int i = 1; i <= M; i++) {
fin >> X >> Y;
Edge[X].push_back(Y);
}
}
void Solve() {
DFS(1);
for (int i = 1; i <= N; i++)
if (!Visited[i])
DFS(i);
}
void Write() {
for (auto Node : Result)
fout << Node << " ";
}
int main() {
Read();
Solve();
Write();
}