Pagini recente » Cod sursa (job #3364634) | Cod sursa (job #3364639) | Cod sursa (job #3364624) | Cod sursa (job #3364631) | Cod sursa (job #3364627)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 5e4 + 5;
const int MMAX = 1e5 + 5;
queue<int> q;
vector<vector<int>> mat(NMAX, vector<int>(MMAX));
int siz[NMAX];
void bfs(){
while (!q.empty()){
int x = q.front();
q.pop();
cout << x << ' ';
for (auto i : mat[x]){
siz[i] --;
if (siz[i] == 0){
q.push(i);
}
}
}
}
int main(){
int n, m;
cin >> n >> m;
for (int i = 1, x, y; i <= m; ++ i){
cin >> x >> y;
mat[x].push_back(y);
siz[y] ++;
}
for (int i = 1; i <= n; ++ i){
if (siz[i] == 0){
q.push(i);
}
}
bfs();
return 0;
}