Submission #999225

#TimeUsernameProblemLanguageResultExecution timeMemory
999225crafticatNewspapers (CEOI21_newspapers)C++17
4 / 100
2 ms608 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"; return 0; } vector<int> siz(n + 1); for (int i = 1; i <= n; ++i) { if (g[i].size() == 1) { for (auto child : g[i]) siz[child]--; } siz[i]+= g[i].size(); } for (int i = 1; i <= n; ++i) { if (siz[i] > 2) { cout << "NO\n"; return 0; } } cout << "YES\n"; cout << "1\n"; cout << "1\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...