#include void bfs(int v); int a[20][20],q[20],visited[20],n,i,j,f=0,r=-1; int main() { int v; //Enter the number of vertices scanf("%d",&n); //initialization loop for (i=1;i<=n;i++) { q[i]=0; visited[i]=0; } //Enter graph data in matrix form for (i=1;i<=n;i++) for (j=1;j<=n;j++) scanf("%d",&a[i][j]); //Enter the starting vertex scanf("%d",&v); q[++r]=v; bfs(v); return 0; } void bfs(int v) { for (i=1;i<=n;i++) if(a[v][i] && !visited[i]){ q[++r]=i; } if(f<=r) { if(visited[q[f]]==0) printf("%d\t",q[f]); visited[q[f]]=1; bfs(q[f++]); } }