Language: C++

    std::queue<int> searchMemo;             // 探索したい部屋を記録するキュー 
    std::vector<int> nextRoom(N, INF);    // 2~Nの部屋の番号 INFならまだ見ていない 
    std::vector<int> dist(N, -1);
    int roomCnt = 0;    // 全ての部屋がに番号がついたか？ 

    searchMemo.push(0); // 最初の部屋から始める 
    dist[0] = 0;        // 最初の部屋の距離を初期化 
    roomCnt++;
    
    // 探したい部屋がなくなるまで 
    while(!searchMemo.empty())
    {
        int searchingRoom = searchMemo.front();
        searchMemo.pop();

        for(int neighbor : to[searchingRoom])
        {
            // まだ番号のない部屋か？ 
            if(dist[neighbor] == -1)
            {
                dist[neighbor] = dist[searchingRoom] + 1;
                nextRoom[neighbor] = searchingRoom;
                searchMemo.push(neighbor);  // 隣であることがわかった部屋を次の周回で探す 
                roomCnt++;
            }
        }
    }

    if(roomCnt != N)
    {
//        std::cout << roomCnt;
        std::cout << "No" << std::endl;
        return 0;
    }else
    {
        std::cout << "Yes" << std::endl;
    }

    for(int i = 1; i < N; i++)
    {
        int ans = nextRoom[i] + 1;
        std::cout << ans << std::endl;
    }
    
    return 0;
}


Compiler output:
a.cc:1:10: error: 'queue' in namespace 'std' does not name a template type
    1 |     std::queue<int> searchMemo;             // 探索したい部屋を記録するキュー
      |          ^~~~~
a.cc:1:1: note: 'std::queue' is defined in header '<queue>'; this is probably fixable by adding '#include <queue>'
  +++ |+#include <queue>
    1 |     std::queue<int> searchMemo;             // 探索したい部屋を記録するキュー
a.cc:2:10: error: 'vector' in namespace 'std' does not name a template type
    2 |     std::vector<int> nextRoom(N, INF);    // 2~Nの部屋の番号 INFならまだ見ていない
      |          ^~~~~~
a.cc:1:1: note: 'std::vector' is defined in header '<vector>'; this is probably fixable by adding '#include <vector>'
  +++ |+#include <vector>
    1 |     std::queue<int> searchMemo;             // 探索したい部屋を記録するキュー
a.cc:3:10: error: 'vector' in namespace 'std' does not name a template type
    3 |     std::vector<int> dist(N, -1);
      |          ^~~~~~
a.cc:3:5: note: 'std::vector' is defined in header '<vector>'; this is probably fixable by adding '#include <vector>'
    3 |     std::vector<int> dist(N, -1);
      |     ^~~
a.cc:6:5: error: 'searchMemo' does not name a type
    6 |     searchMemo.push(0); // 最初の部屋から始める
      |     ^~~~~~~~~~
a.cc:7:5: error: 'dist' does not name a type
    7 |     dist[0] = 0;        // 最初の部屋の距離を初期化
      |     ^~~~
a.cc:8:5: error: 'roomCnt' does not name a type
    8 |     roomCnt++;
      |     ^~~~~~~
a.cc:11:5: error: expected unqualified-id before 'while'
   11 |     while(!searchMemo.empty())
      |     ^~~~~
a.cc:29:5: error: expected unqualified-id before 'if'
   29 |     if(roomCnt != N)
      |     ^~
a.cc:34:6: error: expected unqualified-id before 'else'
   34 |     }else
      |      ^~~~
a.cc:39:5: error: expected unqualified-id before 'for'
   39 |     for(int i = 1; i < N; i++)
      |     ^~~
a.cc:39:20: error: 'i' does not name a type
   39 |     for(int i = 1; i < N; i++)
      |                    ^
a.cc:39:27: error: 'i' does not name a type
   39 |     for(int i = 1; i < N; i++)
      |                           ^
a.cc:45:5: error: expected unqualified-id before 'return'
   45 |     return 0;
      |     ^~~~~~
a.cc:46:1: error: expected declaration before '}' token
   46 | }
      | ^