#include #include #include using namespace std; int const infinity = 1E9 + 1; int main () { int n, m; cin >> n >> m; vector > a (n, vector (n, 0)); for (int j = 0; j < m; j++) { int u, v; cin >> u >> v; u -= 1; v -= 1; a[u][v] = 1; a[v][u] = 1; } vector d (n, infinity); queue q; d[0] = 0; q.push (0); while (!q.empty ()) { auto v = q.front (); q.pop (); cout << v + 1 << ": " << d[v] << endl; for (int u = 0; u < n; u++) if (a[v][u]) { if (d[u] == infinity) { d[u] = d[v] + 1; q.push (u); } } } return 0; }