Submission #1301221

#TimeUsernameProblemLanguageResultExecution timeMemory
1301221Davdav1232Newspapers (CEOI21_newspapers)C++20
54 / 100
19 ms2564 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<vi> vvi; typedef vector<vi> vvi; vvi G; bool works=1; vector<int> d; void dfs(int u, int p){ d[u]=1; int c=0; for(int v : G[u]){ if(v==p) continue; dfs(v, u); d[u]=max(d[u], d[v]+1); if(d[v]>=3) c++; } if(c>=3) works=0; } int main(){ std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); int n, m; cin>>n>>m; d.resize(n); if(m>n-1){ cout<<"NO"<<endl; return 0; } G.resize(n); for(int i=0; i<m; i++){ int a, b; cin>>a>>b; G[a-1].push_back(b-1); G[b-1].push_back(a-1); } for(int i=0; i<n; i++) dfs(i, i); if(!works){ cout<<"NO"<<endl; return 0; } //check if there is a bad subgraph cout<<"YES\n"; if(n==1) cout<<"1\n1"; else if (n==2){ cout<<"2\n2 2"; } else{ cout<<2*(n-2)<<" "; for(int i=2; i<n; i++) cout<<i<<" "; for(int i=n-1; i>1; i--) cout<<i<<" "; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...