Cod sursa(job #385089)

Utilizator maditzaaciuca madalina maditzaa Data 22 ianuarie 2010 08:03:14
Problema A+B Scor 0
Compilator cpp Status done
Runda lucrare_xi_d Marime 0.54 kb
#include <iostream.h>
#include <fstream.h>
ifstream f("mada.in");
int a[50][50],n,i,viz[50],c[50];
void citire(){
	int i,j;
	f>>n;
	while(f>>i>>j)
		a[i][j]=a[j][i]=1;
}

void drum(int x){
	if (viz[x]!=-1)
		drum(viz[x]);
	cout<<x;
}


void bf(){
	int x,p,u;
	cin>>x;
	p=u=1;
	c[p]=x;
	viz[x]=-1;
	while(p<=u){
		for(i=1;i<=n;i++)
			if(a[c[p]][i]&&!viz[i]){
				c[++u]=i;
				viz[i]=c[p];
			}
			p++;
	}
	/*for(i=1;i<p;i++)
		cout<<c[i]<<" ";*/
}
int main(){
	citire();
	
	bf();
	drum(1
	);
	return 0;
}