Pagini recente » Cod sursa (job #2493478) | Cod sursa (job #2350968) | Cod sursa (job #452162) | Cod sursa (job #2261535) | Cod sursa (job #1592546)
#include <cstdio>
#include <iostream>
using namespace std;
int N,M,dg[105],nr;
struct nod{
int info;
nod *next;
}*a[50000];
struct nod *v[100005];
int n,viz[100005],t;
//inserare sfarstit
nod* inserare(nod *p,int x){
nod* elem=new nod;
elem->info=x;
elem->next=NULL;
if(p==NULL){
return elem;
}
else{
nod *parcurg=p;
while(parcurg->next!=NULL)
parcurg=parcurg->next;
parcurg->next=elem;
return p;
}
}
nod* inserare_inceput(nod *p,int x){
nod *elem=new nod;
elem->info=x;
elem->next=p;
return elem;
}
void citeste(){
int i, x, y;
cin>>N>>M;
for(i = 1; i <= M; i++){
cin>>x>>y;
a[x]=inserare_inceput(a[x],y);
dg[y]++;
}
}
int main(){
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
citeste();
while(nr<N){
for(int i=1;i<=N;i++)
if(dg[i]==0){
cout<<i<<' ';
nr++;
dg[i]--;
nod* parcurg=a[i];
while(parcurg){
dg[parcurg->info]--;
parcurg=parcurg->next;
}
}
}
return 0;
}