제출 #466799

#제출 시각아이디문제언어결과실행 시간메모리
466799M4mou어르신 집배원 (BOI14_postmen)C++17
55 / 100
723 ms80940 KiB
#include <bits/stdc++.h>

using namespace std;
bool v[500005],queued[500005];
int next0[500005];
vector<vector<pair<int,int>>> graph;
int dfs(int x, int p){
    if(queued[x]){
        cout << x << " ";
        return x;
    }
    queued[x] = 1;
   // cout << x << endl;
    for(;next0[x]<graph[x].size();next0[x]++){
        auto edge = graph[x][next0[x]];
        if(v[edge.second] || p == x)continue;
        v[edge.second] = 1;
        int y = dfs(edge.first,x);


        if(x != y){
            queued[x] = 0;
            cout << x << " ";
            return y;
        }
        cout << '\n';
    }
    return -1;

}
int main(){
    
    int n,m;
    cin >> n >> m;
    graph.resize(n+1);
    while(m--){
        int x , y;
        cin >> x >> y;
        graph[x].push_back({y,m});
        graph[y].push_back({x,m});
    }
    for(int i = 1;i<=n;i++)dfs(i,-1);

}

컴파일 시 표준 에러 (stderr) 메시지

postmen.cpp: In function 'int dfs(int, int)':
postmen.cpp:14:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |     for(;next0[x]<graph[x].size();next0[x]++){
      |          ~~~~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...