제출 #980739

#제출 시각아이디문제언어결과실행 시간메모리
980739Zicrus어르신 집배원 (BOI14_postmen)C++17
55 / 100
112 ms262144 KiB
#include <bits/stdc++.h> using namespace std; int n, m, u, v; vector<queue<pair<int, int>>> adj; vector<int> res; vector<bool> sus; int main() { cin >> n >> m; adj.resize(n); sus.resize(m); vector<int> deg(n); int g = 0; for (int i = 0; i < m; i++) { cin >> u >> v; adj[u-1].push({v-1, g}); adj[v-1].push({u-1, g++}); } stack<int> stk; stk.push(0); while (!stk.empty()) { start: int s = stk.top(); while (!adj[s].empty()) { int e = adj[s].front().first; int i = adj[s].front().second; adj[s].pop(); if (!sus[i]) { sus[i] = true; stk.push(e); goto start; } else sus[i] = true; } res.push_back(s); stk.pop(); } reverse(res.begin(), res.end()); vector<int> vst(n, -1); vector<int> nxt(n, -1); for (int i = 0; i < res.size(); i++) { int node = res[i]; if (vst[node] == -1) { vst[node] = i; nxt[node] = res[i+1]; } else { int nd = res[vst[node]]; do { cout << nd+1 << ' '; vst[nd] = -1; nd = nxt[nd]; } while (nd != node); cout << '\n'; nxt[node] = res[i+1]; vst[node] = i; } } }

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

postmen.cpp: In function 'int main()':
postmen.cpp:41:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     for (int i = 0; i < res.size(); i++) {
      |                     ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...