Pagini recente » Cod sursa (job #694020) | Cod sursa (job #1065132) | Cod sursa (job #2581064) | Cod sursa (job #1262201) | Cod sursa (job #2679659)
#include <iostream>
#include<fstream>
#include<vector>
#include<queue>
using namespace std;
vector<int>lis[50001];
queue<int>coada;
int in[50001];
int n, m, i, x, y;
int main() {
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
fin>>n>>m;
for(i=1;i<=m;i++) {
fin>>x>>y;
lis[x].push_back(y);
in[y]++;
}
for(i=1;i<=n;i++) {
if(in[i]==0) {
coada.push(i);
}
}
while(!coada.empty()) {
int prim=coada.front();
fout<<prim<<" ";
coada.pop();
int l=lis[prim].size();
for(i=0;i<l;i++) {
int nod=lis[prim][i];
in[nod]--;
if(in[nod]==0) {
coada.push(nod);
}
}
}
return 0;
}