Pagini recente » Cod sursa (job #2825576) | Cod sursa (job #864256) | Cod sursa (job #1450678) | Cod sursa (job #927575) | Cod sursa (job #1014272)
#include<fstream>
#include<vector>
#include<queue>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
const int Nmax = 50005;
int T[Nmax];
int nrfii[Nmax];
queue<int> q;
int sol[Nmax];
int N,M;
int main(){
in>>N>>M;
for(int i=1;i<=M;i++){
int x,y;
in>>x>>y;
nrfii[x]++;
T[y]=x;
}
for(int i=1;i<=N;i++){
if(!nrfii[i]) q.push(i);
}
while(!q.empty()){
int i=q.front();
q.pop();
sol[++sol[0]]=i;
nrfii[T[i]]--;
if(!nrfii[T[i]]) q.push(T[i]);
}
for(int i=N;i>=1;i--) out<<sol[i]<<' ';
return 0;
}