Submission #1108734

#TimeUsernameProblemLanguageResultExecution timeMemory
1108734PekibanNewspapers (CEOI21_newspapers)C++17
0 / 100
1 ms336 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back const int N = 1e3+5; vector<int> g[N], b; void dfs(int s, int e = -1) { bool t = 0; b.pb(s); for (auto u : g[s]) { if (u == e) continue; if (t && g[u].size() > 1) { cout << "NO\n"; exit(0); } if (g[u].size() > 1) { dfs(u, s); t = 1; } } } int main() { ios::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; for (int i = 1; i <= m; ++i) { int u, v; cin >> u >> v; g[u].pb(v); g[v].pb(u); } if (m >= n) { cout << "NO\n"; exit(0); } for (int i = 1; i <= n; ++i) { if (g[i].size() > 1) { int t = 1; for (auto u : g[i]) { if (g[u].size() > 1) t--; } if (t >= 0) { dfs(i); cout << "YES" << '\n'; if (b.size() & 1) { cout << 2*b.size() << '\n'; for (auto x : b) cout << x << ' '; for (auto x : b) cout << x << ' '; } else { cout << 2*b.size() << '\n'; for (auto x : b) cout << x << ' '; reverse(b.begin(), b.end()); for (auto x : b) cout << x << ' '; cout << '\n'; } return 0; } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...