Cod sursa(job #2492471)

Utilizator DayanamdrMardari Dayana Raluca Dayanamdr Data 14 noiembrie 2019 20:02:02
Problema BFS - Parcurgere in latime Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int mtA[1001][1001], dist[1001], val[1001];
int main()
{
    int N, M,S;
    f >> N >> M >> S;
    int v[101][3];
    while (M--) {
        int x, y;
        f >> x >> y;
        if(x != y)
            mtA[x][y] = 1;
    }
    int t = 1;
    for (int i = 1; i <= N; i++)
        dist[i] = -1;
    dist[S] = 0;
    val[1] = S;
    for(int x = 1; x <= t; x++) {
        for(int j = 1; j <= N; j++) {
            if(mtA[val[x]][j] == 1 && dist[j] == -1) {
                dist[j] = dist[val[x]] + 1;
                val[++t] =j;
            }
        }
    }
    for(int i = 1; i <= N; i++)
        g << dist[i] << " ";


    return 0;
}