Pagini recente » Cod sursa (job #1111834) | Cod sursa (job #2721310) | Cod sursa (job #1980297) | Cod sursa (job #3003130) | Cod sursa (job #796080)
Cod sursa(job #796080)
#include <cstdio>
using namespace std;
int n,m,a[100][100],u,ul;
int sol[100],c[100],viz[100];
int ok[100];
void citire ()
{
freopen("sortaret.in","r",stdin);
int x,y;
scanf("%d %d",&n,&m);
for(int i=0;i<m;i++)
{
scanf("%d %d",&x,&y);
a[x][y]=1;
ok[y]=1;
}
for(int i=1;i<=n;i++)
if(ok[i]==0){
c[u++]=i;
}
}
int ver(int x)
{
for(int i=1;i<=n;i++)
if(a[i][x]==1)
return 0;
return 1;
}
void parc ()
{
for(int i=0;i<u;i++){
viz[c[i]]=1;
sol[ul++]=c[i];
for (int j=1;j<=n;j++){
if(a[c[i]][j]==1){
a[c[i]][j]=0;
if (ver(j))
c[u++]=j;
}
}
}
}
void afisare ()
{
freopen("sortaret.out","w",stdout);
for(int i=0;i<ul;i++)
printf("%d ",sol[i]);
printf("\n");
}
int main ()
{
citire();
parc();
afisare();
return 0;
}