Pagini recente » Cod sursa (job #3332291) | Cod sursa (job #3326567) | Cod sursa (job #3334253) | Monitorul de evaluare | Cod sursa (job #3334680)
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
const int N = 50005;
int n, m;
int s;
vector<int> G[N];
queue<int> q;
int d[N];
void SortareTopologica () {
while (!q.empty()) {
int u = q.front();
q.pop();
fout << u << "\n";
for (int i = 0; i < G[u].size(); i++) {
int v = G[u][i];
d[v]--;
if (d[v] == 0) {
q.push(v);
}
}
}
}
int main() {
fin >> n >> m;
for (int i = 1; i <= m; i++) {
int u, v;
fin >> u >> v;
G[u].push_back(v);
d[v]++;
}
for (int i = 1; i <= n; i++) {
if (d[i] == 0) {
q.push(i);
}
}
SortareTopologica();
return 0;
}