Cod sursa(job #2424384)

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

using namespace std;

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

int n, M, S, x, y;
vector <vector <int>> a;

void BFS(int sursa)
{
    vector <int> dist(n, n);
    queue <int> q;
    dist[sursa] = 1;
    q.push(sursa);
    while(!q.empty())
    {
        vector <vector <int>> g(n);
        int node = q.front();
        
        for(int i = 0; i < g[node].size(); i ++)
        {
        	int u = g[node][i];
        	if (dist[u] == 0)
        	{
        		dist[u] = dist[node] + 1;
        		q.push(u);
        	}
        }
	    q.pop();
    }
    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()
{
    in>>n;
    in>>M;
    in>>S;
    out << n << M << 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;
}