Pagini recente » Cod sursa (job #1464224) | Cod sursa (job #156861) | Cod sursa (job #1363001) | Cod sursa (job #334577) | Cod sursa (job #2695486)
#include <bits/stdc++.h>
#define NMAX 50005
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n, m;
vector < int > visited[NMAX];
int x, y, grad[NMAX];
queue < int > q;
void read(){
f >> n >> m;
for(int i = 1; i <= m; ++i){
f >> x >> y;
visited[x].push_back(y);
++grad[y];
}
}
void alg(){
for(int i = 1; i <= n; ++i){
if(grad[i] == 0)
q.push(i);
}
while(!q.empty()){
int nod = q.front();
g << nod << ' ';
q.pop();
for(int i = 0; i < visited[nod].size(); ++i){
int vis = visited[nod][i];
--grad[vis];
if(grad[vis] == 0)
q.push(vis);
}
}
}
int main(){
read();
alg();
return 0;
}