Submission #999220

#TimeUsernameProblemLanguageResultExecution timeMemory
999220crafticatNewspapers (CEOI21_newspapers)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std; vector<vector<int>> g; int MAX_DEP = 0; vector<int> ans; void dfs(int x, int p) { if (g[x].size() == 1 && p != 0) return; ans.push_back(x); for (auto child : g[x]) { if (child == p) continue; dfs(child,x); } ans.push_back(x); } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; g.resize(n + 1); for (int i = 0; i < m; ++i) { int a, b; cin >> a >> b; g[a].push_back(b); g[b].push_back(a); } if (m != n -1) { cout << "NO\n"; return 0; } if (n == 1) { cout << "YES\n"; cout << "1\n"; cout << "1\n"; } int root = 1; for (int i = 1; i <= n; ++i) { if (g[i].size() > 1) root = i; } dfs(root,0); cout << "YES\n"; cout << ans.size() << "\n"; for (int an : ans) { cout << an << " "; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...