Code:#include <stdio.h> #include <stdlib.h> #include <math.h> #include <stdbool.h> #define N 100000 int A[N][2]; void bfs() { for(i=1 ;i <=n; i++) if(a[v][i] && !visited[i]) q[++r]=i; if(f<=r) { visited[q[f]]=1; bfs(q[f++]); } } int main(void) { int n = 0, ans = 0; int a, i; for(a = 0; a < 21; a++) { scanf(" %d", &n); printf(" N: %d", n); if( n == -1) { goto end; } for( i = 1; i < n + 1; i++){ scanf(" %d", &A[i][0]); } printf(" leaves for looop.....\n\n"); //det num rides. BFS for( i = 1; i < n + 1; i++) { //enters for... printf("\n Empty for..."); ans++; BFS(A[i]) int k = 0; int j = A[i][0]; printf("\nEnd while...."); printf("\nans: %d", ans); next: ; for(k = 1; k < n+1; k++) A[i][1] = 0; } printf("\nEnd problem...."); end: ; printf(" %d", ans); } return 0; }