Pagini recente » Cod sursa (job #2518110) | Cod sursa (job #987921) | Cod sursa (job #3146152) | Cod sursa (job #137615) | Cod sursa (job #2778507)
#include <bits/stdc++.h>
using namespace std;
vector<int> vect[100002];
int grades[100002];
int main() {
int N, M;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
fin >> N >> M;
queue<int> q;
int a, b;
for (int i = 1; i <= M; i++) {
fin >> a >> b;
vect[a].push_back(b);
grades[b]++;
}
for (int i = 1; i <= N; i++) {
if (grades[i] == 0) {
q.push(i);
}
}
while (!q.empty()) {
int p = q.front();
q.pop();
for (int j = 0; j < vect[p].size(); j++) {
grades[vect[p][j]]--;
if (grades[vect[p][j]] == 0) {
q.push(vect[p][j]);
}
}
fout << p << " ";
}
return 0;
}