제출 #103597

#제출 시각아이디문제언어결과실행 시간메모리
103597luciocf어르신 집배원 (BOI14_postmen)C++14
38 / 100
1077 ms21136 KiB
#include <bits/stdc++.h> #define gc getchar_unlocked inline void scan(int &x){ register int c = gc(); x = 0; for(;(c<48 || c>57);c = gc()); for(;c>47 && c<58;c = gc()) {x = (x<<1) + (x<<3) + c - 48;} } 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; markEdge[v.second] = 1; dfs(v.first); } } } int main(void) { int n, m; scan(n); scan(m); for (int i = 1; i <= m; i++) { int u, v; scan(u); scan(v); grafo[u].push_back({v, i}); grafo[v].push_back({u, i}); } dfs(1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...