# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
103595 | 2019-03-31T19:23:15 Z | luciocf | 어르신 집배원 (BOI14_postmen) | C++14 | 14 ms | 12136 KB |
#include <bits/stdc++.h> using namespace std; const int maxn = 5e5+10; typedef pair<int, int> pii; int stk[maxn], tt; bool markEdge[maxn], mark[maxn]; vector<pii> grafo[maxn]; void dfs(int u) { if (mark[u]) { while (true) { int v = stk[tt--]; mark[v] = 0; if (v == u) { printf("%d\n", v); break; } printf("%d ", v); } } for (auto v: grafo[u]) { if (!markEdge[v.second]) { mark[u] = 1; stk[tt] = u, tt++; markEdge[v.second] = 1; dfs(v.first); } } } int main(void) { int n, m; scanf("%d %d", &n, &m); for (int i = 1; i <= m; i++) { int u, v; scanf("%d %d", &u, &v); grafo[u].push_back({v, i}); grafo[v].push_back({u, i}); } dfs(1); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 11 ms | 12032 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 14 ms | 12032 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 13 ms | 12136 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |