Pagini recente » Cod sursa (job #2906162) | Cod sursa (job #3152446) | Cod sursa (job #2906158) | Cod sursa (job #1570610) | Cod sursa (job #1579300)
#include <cstdio>
#define nmax 50005
#include <vector>
#include <queue>
using namespace std;
int N,M;
vector <int> G[nmax];
int d[nmax];
queue <int> Q;
int main(){
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d ",&N,&M);
int x,y;
while(M--){
scanf("%d %d ",&x,&y);
G[x].push_back(y);
d[y]++;
}
for(x = 1;x <= N;++x)if(d[x] == 0)Q.push(x);
while(!Q.empty()){
x = Q.front();
Q.pop();
printf("%d ",x);
for(vector <int> :: iterator it = G[x].begin();it != G[x].end();++it){
d[*it]--;
if(d[*it] == 0)Q.push(*it);
}
}
printf("\n");
return 0;
}