Cod sursa(job #311358)
| Utilizator | Data | 3 mai 2009 12:22:49 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include<iostream.h>
#include<fstream.h>
ifstream f("sortaret.in");
ofstream g("sortaret.out");
unsigned a[10][10],n,s[100],pre[100],nr,ok=0,i,j;
void creare()
{f>>n;
while(f>>i>>j)
a[i][j]=1;
f.close();
}
void df(int nod)
{ s[nod]=1;
pre[++nr]=nod;
for(int k=1;k<=n;k++)
if(a[nod][k]==1)
if(s[k]==0)
df(k);
else ok=1;
}
int main()
{ creare();
df(1);
if(ok==1)cout<<"nu poate fi sortat topologic";
else
for(int i=1;i<=nr;i++)g<<pre[i]<<" ";
return 0;}
