Cod sursa(job #768710)

Utilizator SymbolicLayerCostache Adrian SymbolicLayer Data 17 iulie 2012 17:02:30
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
# include  <fstream>

using namespace std;

ifstream f("bfs.in");
ofstream g("bfs.out");

int n,m,s,viz[100000],coada[100000],a[100000][100000],p,u,i;

void citire()
{
int x,y;
f>>n>>m>>s;
for(i=1;i<=m;i++)
{
f>>x>>y;
a[x][y]=a[y][x]=1;
}
f.close();
}


void latime(int x)
{
for(i=1;i<=n;i++)
coada[i]=x;
viz[x]=1;
p=1;
u=1;
while(p<=u)
{
for(i=1;i<=n;i++)
if(a[i][coada[p]]==1 && viz[i]==0)
{
u++;
coada[u]=i;
viz[i]=1;
}
p++;
}
}

int main()
{
citire();
latime();
for(i=1;i<n;i++)
if(a[s][viz[i]]==1)
g<<coada[i];
g.close();
return 0;
}