Cod sursa(job #3266374)

Utilizator BeAr9O9Preotu David BeAr9O9 Data 7 ianuarie 2025 21:39:55
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
//Reprezentam graful cu matricea de adiacenta
//Coada o reprezentam prin vector alocat static
#include <fstream>

using namespace std;

ifstream fin("bfs.in");
ofstream fout("bfs.out");

int n, adjacencyMatrix[101][101], visit[101];
int queue[101];

void read() {
    fin >> n;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            fin >> adjacencyMatrix[i][j];
        }
    }
}

void bfs(int start) {
    queue[0] = start; //marcam pozitia de start a vectorului coada
    visit[start] = 1; //vizitam pozitia de start a vectorului coada
    int next = 1;
    for (int position = 0; position < next; position++) {
        fout << queue[position] << " ";
        int vertex = queue[position];
        for (int i = 1; i <= n; i++) {
            if (adjacencyMatrix[vertex][i] == 1 && !visit[i]) {
                queue[next++] = i;
                visit[i] = 1;
            }
        }
    }
}

int main() {
    read();
    bfs(1);
    return 0;
}