제출 #1229474

#제출 시각아이디문제언어결과실행 시간메모리
1229474raspyNewspapers (CEOI21_newspapers)C++20
4 / 100
1 ms584 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 njgl=0; int naj=0; void dfs(int u, int p=-1, int gl=1) { if (gl>njgl) naj=u, njgl=gl; for (int v:graf[u]) if (v!=p) dfs(v, u, gl+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; if (o.size()) 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; } dfs(1); njgl=0; dfs(naj); int t = preveri(naj); 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...