Untitled
unknown
plain_text
a year ago
806 B
12
Indexable
#include <stdio.h>
#include <stdlib.h>
#define MAX_VERTICES 100
void bfs(int graph[MAX_VERTICES][MAX_VERTICES], int m) {
int visited[MAX_VERTICES] = {0};
int queue[MAX_VERTICES], front = 0, rear = 0;
visited[0] = 1;
queue[rear++] = 0;
while (front < rear) {
int current = queue[front++];
printf("%d ", current + 1);
for (int i = 0; i < m; i++) {
if (graph[current][i] == 1 && !visited[i]) {
visited[i] = 1;
queue[rear++] = i;
}
}
}
}
int main() {
int m;
scanf("%d", &m);
int graph[MAX_VERTICES][MAX_VERTICES];
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &graph[i][j]);
}
}
bfs(graph, m);
return 0;
}
Editor is loading...
Leave a Comment