제출 #984419

#제출 시각아이디문제언어결과실행 시간메모리
984419alexddNewspapers (CEOI21_newspapers)C++17
4 / 100
1 ms600 KiB
#include<iostream> #include<vector> using namespace std; int n,m,root; vector<int> con[1005]; bool isfrunza[1005]; bool rau; void dfs(int nod, int par) { int cntf=0,cntn=0; for(auto adj:con[nod]) { if(adj!=par) { if(isfrunza[adj]) cntf++; else cntn++; dfs(adj,nod); } } if(cntn>2) { rau=1; } } signed main() { ios_base::sync_with_stdio(0);cin.tie(0); cin>>n>>m; int a,b; for(int i=1;i<=m;i++) { cin>>a>>b; con[a].push_back(b); con[b].push_back(a); } if(m!=n-1) { cout<<"NO\n"; return 0; } if(n==1) { cout<<"YES\n"; cout<<1<<"\n"<<1; return 0; } if(n==2) { cout<<"YES\n"; cout<<2<<"\n"<<"2 2"; return 0; } root=-1; for(int i=1;i<=n;i++) { if((int)con[i].size() > 1) { if(root==-1) root=i; } else isfrunza[i]=1; } dfs(root,0); if(rau) { cout<<"NO\n"; return 0; } cout<<"YES\n"; cout<<1<<"\n"<<1; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...