Pagini recente » Cod sursa (job #219822) | Cod sursa (job #1923188) | Cod sursa (job #561765) | Cod sursa (job #2338471) | Cod sursa (job #2424384)
#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;
}