Submission #1229415

#TimeUsernameProblemLanguageResultExecution timeMemory
1229415raspyNewspapers (CEOI21_newspapers)C++20
0 / 100
1 ms320 KiB
#include <bits/stdc++.h> #define vi vector<int> #define int long long #define pb push_back #define all(x) (x).begin(), (x).end() using namespace std; const int N = 1e3+5; vi graf[N]; int gl[N]; void dfs(int u, int& naj, int p=-1, int tg=0) { gl[u]=tg; if (gl[u]>gl[naj]) naj=u; for (int v:graf[u]) if (v!=p) dfs(v, naj, u, tg+1); } bool mz=1; int preveri(int u, int p=-1) { int sm = 0; vi o; for (int v:graf[u]) if (v==p) o.pb(preveri(v, u)); sort(all(o)); if (o.size()>1 && o[0]>2) mz=0; sm=o.back(); return sm+1; } signed main() { int n, m; cin >> n >> m; for (int i = 0; i < m; i++) { int u, v; cin >> u >> v; graf[u].pb(v);graf[v].pb(u); } if (m!=n-1) { cout << "NO\n"; return 0; } int u = 0; dfs(0, u); dfs(u, u); int t = preveri(u); if (mz) cout << "YES\n1\n1\n"; else cout << "NO\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...