Submission #1293171

#TimeUsernameProblemLanguageResultExecution timeMemory
1293171dostsNewspapers (CEOI21_newspapers)C++20
4 / 100
16 ms680 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") #define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e18; const int N = 1e3+1; vi edges[N],h(N); bool dfs(int node,int p) { h[node] = 0; for (auto it : edges[node]) { if (it == p) continue; dfs(it,node); h[node] = max(h[node],h[it]+1); } int ctr = 0; for (auto it : edges[node]) { if (it == p) continue; if (h[it]) ctr++; } return ctr < 3; } void solve() { int n,m; cin >> n >> m; for (int i=1;i<=m;i++) { int a,b; cin >> a >> b; edges[a].push_back(b); edges[b].push_back(a); } if (m >= n) { cout << "NO\n"; return; } int fl = 1; for (int i=1;i<=n;i++) { fl&=dfs(i,i); } if (fl) { cout << "YES\n"; cout << "1\n1\n"; return; } else cout << "NO\n"; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; //cin >> t; while (t --> 0) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...