Problem p02678 (C++) — buggy submission, verdict: Runtime Error

#include <bits/stdc++.h>
//----***やべーやつら***----
using namespace std;
#define int long long

//----***型定義***----
using ll = long long;
using P = pair<int, int>;

//----***Like a Pythonista***----
#define REP(ii, jj, nn) for (ll ii = jj; ii < (nn); ii++)
#define RREP(ii, nn, jj) for (ll ii = nn; jj < ii; ii--)
#define each(i, ...) for (auto &&i : __VA_ARGS__)
#define ALL(vec) (vec).begin(), (vec).end()
#define sum(...) accumulate(ALL(__VA_ARGS__), 0LL)
#define dsum(...) accumulate(ALL(__VA_ARGS__), 0.0)
#define vec(type, name, ...) vector<type> name(__VA_ARGS__)
template <class T> inline auto max(const T &a) { return *max_element(ALL(a)); }
template <class T> inline auto min(const T &a) { return *min_element(ALL(a)); }
inline ll gcd(ll a, ll b) {
  if (b == 0)
    return a;
  return gcd(b, a % b);
}
inline ll lcm(ll a, ll b) {
  ll g = gcd(a, b);
  return a / g * b;
}

//----***定数***----
#define MOD 1000000007
#define INF 100000000000000000
#define EPS 1e-9
const vector<vector<int>> DXY = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};

//----***パーツ***----
#define fi first
#define se second
#define pb push_back
#define re return
#define br break

//----***入出力***---
void print() { std::cout << "\\n"; }
template <class T> void print(const T &x) { std::cout << x << "\\n"; }
template <class T, class... Args> void print(const T &x, const Args &...args) {
  std::cout << x << " ";
  print(args...);
}
#define debug(var)                                                             \\
  do {                                                                         \\
    std::cerr << #var << " ↓ "                                               \\
              << "\\n";                                                         \\
    view(var);                                                                 \\
  } while (0);
#define dbg cerr << "🥺🥺🥺🥺🥺🥺" << endl;
template <typename T> void view(T e) { std::cout << e << std::endl; }
template <typename T> void view(const std::vector<T> &v) {
  for (const auto &e : v) {
    std::cout << e << " ";
  }
  std::cout << std::endl;
}
template <typename T> void view(const std::vector<std::vector<T>> &vv) {
  for (const auto &v : vv) {
    view(v);
  }
}

//----***初期時読み込み***----
struct initial {
  initial() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    cout << fixed << setprecision(15);
  };
} initial_;

signed main() {
  int N, M;
  cin >> N >> M;
  vector<vector<int>> G(N);
  int a, b;
  REP(i, 0, M) {
    cin >> a >> b;
    a--;
    b--;
    G[a].pb(b);
    G[b].pb(a);
  }
  vector<int> ans(N, -1);
  ans[0] = 0;
  queue<int> que;
  que.push(0);
  while (que.size()) {
    int q = que.front();
    que.pop();
    // debug(G[q]);
    each(e, G[q]) {
      // print(e,q,ans[e]);
      if (ans[e] != -1)
        continue;
      ans[e] = q;
      que.push(e);
    }
  }
  REP(i, 1, N) {
    a = ans[i];
    if (a == -1) {
      print("No");
      re 0;
    }
    ans[i] = a + 1;
  }
  print("Yes");
  REP(i, 1, N) { print(ans[i]); }
}


Error: 0

Fixed submission:

#include <bits/stdc++.h>
//----***やべーやつら***----
using namespace std;
#define int long long

//----***型定義***----
using ll = long long;
using P = pair<int, int>;

//----***Like a Pythonista***----
#define REP(ii, jj, nn) for (ll ii = jj; ii < (nn); ii++)
#define RREP(ii, nn, jj) for (ll ii = nn; jj < ii; ii--)
#define each(i, ...) for (auto &&i : __VA_ARGS__)
#define ALL(vec) (vec).begin(), (vec).end()
#define sum(...) accumulate(ALL(__VA_ARGS__), 0LL)
#define dsum(...) accumulate(ALL(__VA_ARGS__), 0.0)
#define vec(type, name, ...) vector<type> name(__VA_ARGS__)
template <class T> inline auto max(const T &a) { return *max_element(ALL(a)); }
template <class T> inline auto min(const T &a) { return *min_element(ALL(a)); }
inline ll gcd(ll a, ll b) {
  if (b == 0)
    return a;
  return gcd(b, a % b);
}
inline ll lcm(ll a, ll b) {
  ll g = gcd(a, b);
  return a / g * b;
}

//----***定数***----
#define MOD 1000000007
#define INF 100000000000000000
#define EPS 1e-9
const vector<vector<int>> DXY = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};

//----***パーツ***----
#define fi first
#define se second
#define pb push_back
#define re return
#define br break

//----***入出力***---
void print() { std::cout << "\\n"; }
template <class T> void print(const T &x) { std::cout << x << "\\n"; }
template <class T, class... Args> void print(const T &x, const Args &...args) {
  std::cout << x << " ";
  print(args...);
}
#define debug(var)                                                             \\
  do {                                                                         \\
    std::cerr << #var << " ↓ "                                               \\
              << "\\n";                                                         \\
    view(var);                                                                 \\
  } while (0);
#define dbg cerr << "🥺🥺🥺🥺🥺🥺" << endl;
template <typename T> void view(T e) { std::cout << e << std::endl; }
template <typename T> void view(const std::vector<T> &v) {
  for (const auto &e : v) {
    std::cout << e << " ";
  }
  std::cout << std::endl;
}
template <typename T> void view(const std::vector<std::vector<T>> &vv) {
  for (const auto &v : vv) {
    view(v);
  }
}

//----***初期時読み込み***----
struct initial {
  initial() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    cout << fixed << setprecision(15);
  };
} initial_;

signed main() {
  int N, M;
  cin >> N >> M;
  vector<vector<int>> G(N, vector<int>(N));
  int a, b;
  REP(i, 0, M) {
    cin >> a >> b;
    a--;
    b--;
    G[a].pb(b);
    G[b].pb(a);
  }
  vector<int> ans(N, -1);
  ans[0] = 0;
  queue<int> que;
  que.push(0);
  while (que.size()) {
    int q = que.front();
    que.pop();
    each(e, G[q]) {
      if (ans[e] != -1)
        continue;
      ans[e] = q;
      que.push(e);
    }
  }
  REP(i, 1, N) {
    a = ans[i];
    if (a == -1) {
      print("No");
      re 0;
    }
    ans[i] = a + 1;
  }
  print("Yes");
  REP(i, 1, N) { print(ans[i]); }
}