Pagini recente » Cod sursa (job #2859464) | Cod sursa (job #2112753) | Cod sursa (job #3181329) | Cod sursa (job #3283169) | Cod sursa (job #2934229)
#include <fstream>
#include <vector>
#include<queue>
using namespace std;
ifstream cin("sortaret.in");
ofstream cin("sortaret.out");
vector<int>gradInt;
vector<vector<int>>muchie;
queue<int>q;
void bfs(){
while(!q.empty()){
int nodCurent=q.front();
q.pop();
for(auto&x:muchie[nodCurent]){
gradInt[x]--;
if(gradInt[x]==0){
cout<<x<<" ";
q.push(x);
}
}
}
}
int main(){
int n,m;
cin>>n>>m;
gradInt.resize(n+1);
muchie.resize(n+1);
while(m--){
int a,b;
cin>>a>>b;
muchie[a].push_back(b);
gradInt[b]++;
}
for(int i=1;i<=n;i++){
if(gradInt[i]==0){
cout<<i<<" ";
q.push(i);
}
}
bfs();
}