Cod sursa(job #2424379)

Utilizator MikeVMihai Vasilescu MikeV Data 22 mai 2019 22:20:00
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <list>
#include <queue>

using namespace std;

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

int n;
vector <vector <int>> a;

void BFS(int sursa)
{
    vector <int> dist(n, n);
    queue <int> q;
    dist[sursa] = 0;
    q.push(sursa);
    while(!q.empty())
    {
        vector <vector <int>> g(n);
        int node = q.front();
        q.pop();
            for(int i = 0; i < g[node].size(); i ++)
            {
                int u = g[node][i];
                if (dist[u] > dist[node] + 1)
				{
                    dist[u] = dist[node] + 1;
                    q.push(u);
                }
            }
    }
    for(int i = 1; i <= n; i++)
    	if(dist[i] == 0 && i == sursa)
    		out << "0\n";
    	else
    		out << dist[i] << "\n";
}

void add_edge(int i, int j)
{
    a[i].push_back(j);
    a[j].push_back(i);
}

int main()
{
    int M, S, x, y;
    in>>n;
    in>>M;
    in>>S;
    a = vector<vector<int>> (n);

    for(int i=0;i<M;i++)
        add_edge(x, y);

    for(int i=0;i<n;i++)
        BFS(i);
    return 0;
}