import java.util.*;
import java.lang.*;
import java.io.*;
// The main method must be in a class named "Main".
class Main {
static final int INF = -1;
static int[] shortestPath(int n, List<List<Integer>> g, int s) {
Queue<Integer> q = new ArrayDeque<>();
q.add(s);
int[] distance = new int[n];
for (int i=0; i<n; i++) {
distance[i] = INF;
}
distance[s] = 0;
while (!q.isEmpty()){
int v = q.poll();
for (int u: g.get(v)) {
if (distance[u] == INF) {
distance[u] = distance[v] + 1;
q.add(u);
}
}
}
return distance;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), m = sc.nextInt(), s = sc.nextInt()-1;
List<List<Integer>> graph = new ArrayList<List<Integer>>(n);
for (int i=0; i<n; i++) {
graph.add(new ArrayList<Integer>());
}
for (int i=0; i<m; i++) {
int a = sc.nextInt() - 1, b = sc.nextInt() -1;
graph.get(a).add(b);
graph.get(b).add(a);
}
int[] distance = shortestPath(n, graph, s);
for (int i = 0; i < n; i++) {
System.out.println("vector from " + s + " vector to " + (i + 1) + "/ distance is " + distance[i]);
}
sc.close();
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: