Pagini recente » Cod sursa (job #1478168) | Cod sursa (job #2221842) | Cod sursa (job #1726695) | Cod sursa (job #1829288) | Cod sursa (job #393683)
Cod sursa(job #393683)
#include <fstream>
#include <iostream>
using namespace std;
int a[100][100],n,m,viz[100],c[100];
void citire()
{ int i,x,y,j;
ifstream f ("bfs.in");
f>>n>>m;
for(i=1;i<=m;i++)
{f>>x>>y;
a[x][y]=a[y][x]=1;
}
f.close();
}
void bfs(int nod)
{int li,ls,j,i;
c[1]=nod;
viz[1]=1; //c -vector pe care il folosim ca pe o structura de tip FIFO(coada)
li=1;ls=1;// li= limita inferioara in coada
//ls- limita superioara in coada
while (li<=ls)
{
for(j=1;j<=n;j++)
if (a[c[li]
][j]==1&&viz[j]==0)
{ls++;
c[ls]=j;
viz[j]=1;
}
li++;
}
}
void afisare()
{
ofstream g ("bfs.out");
int i;
for(i=1;i<=n;i++)
g<<c[i]<<" ";
g.close();
}
int main()
{
citire();
bfs(1);
afisare();
return 0;
}