Pagini recente » Cod sursa (job #3134049) | Cod sursa (job #2113406) | Cod sursa (job #1504951) | Cod sursa (job #952970) | Cod sursa (job #2428152)
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<vector<int>> G;
vector<bool> v;
stack<int> s;
void Read();
void DF(int x);
void Write();
int main() {
Read();
for (int i = 1; i <= n; ++i)
if (!v[i])
DF(i);
Write();
return 0;
}
void Read() {
ifstream is("sortaret.in");
is >> n >> m;
G = vector<vector<int>>(n + 1);
v = vector<bool>(n + 1);
int x, y;
for (int i = 0; i < m; ++i) {
is >> x >> y;
G[x].push_back(y);
}
is.close();
}
void DF(int x) {
v[x] = true;
for (const auto& y : G[x])
if (!v[y])
DF(y);
s.push(x);
}
void Write() {
ofstream os("sortaret.out");
while (!s.empty()) {
os << s.top() << ' ';
s.pop();
}
os.close();
}