Pagini recente » Istoria paginii runda/simulare_oji_09 | Cod sursa (job #639874) | Cod sursa (job #664096) | Monitorul de evaluare | Cod sursa (job #2962948)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
vector<int> G [50001];
int n,m;
queue<int> Q;
int eg[50001];
int viz[100001];
int main()
{
f >> n >> m;
for(int i=1 ; i<=m ; ++i){
int x,y;
f >> x >> y;
G[x].push_back(y);
eg[y]++;
}
for(int i=1 ; i<=n ; ++i){
if(!eg[i]){
Q.push(i);
}
}
while(!Q.empty()){
int x=Q.front();
g << x << " ";
for(auto it = G[x].begin(); it !=G[x].end() ; ++it){
eg[*it]--;
if(!eg[*it]){
Q.push(*it);
}
}
Q.pop();
}
}