Pagini recente » Cod sursa (job #467467) | Cod sursa (job #2347028) | Cod sursa (job #2853115) | Cod sursa (job #803610) | Cod sursa (job #2719194)
#include <iostream>
#include<fstream>
#include<vector>
#include<queue>
using namespace std;
queue<int>h;
vector<int>v[500001];
int grad[500001];
int main() {
int i, n, m, x, y, nod;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
fin>>n>>m;
for(i=1;i<=m;i++) {
fin>>x>>y;
v[x].push_back(y);
grad[y]++;
}
for(i=1;i<=n;i++) {
if(grad[i]==0) {
h.push(i);
}
}
while(!h.empty()){
nod=h.front();
fout<<nod<<" ";
h.pop();
for(auto newn:v[nod]) {
grad[newn]--;
if(grad[newn]==0) {
h.push(newn);
}
}
}
return 0;
}