Pagini recente » Cod sursa (job #2937411) | Cod sursa (job #3245156) | Cod sursa (job #3225723) | Cod sursa (job #290921) | Cod sursa (job #548442)
Cod sursa(job #548442)
#include<fstream.h>
#include<conio.h>
ifstream in("graf.in");
int a[20][20],s[20],viz[20],urm[20],sol[20],n,j;
void citire(){
int i,j;
in>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
in>>a[i][j];
}
void df(int start){
int k=1,x,y,up;
s[k]=start;
viz[start]=1;
while(k>0){x=s[k];
up=0;
while(!up&&urm[x]<n){
urm[x]++;
if(!viz[urm[x]]&&a[urm[x]][x]==1){y=urm[x];
up=1;
}
}
if(up==1){k++;
s[k]=y;
viz[y]=1;
sol[j++]=y;
}
else k--;
}
}
void main(){
clrscr();
int start;
citire();
cout<<"start=";cin>>start;
sol[j++]=start;
df(start);
for(j=0;j<n;j++)cout<<sol[j]<<" ";
getch();
}