Submission #785734

#TimeUsernameProblemLanguageResultExecution timeMemory
785734gagik_2007Newspapers (CEOI21_newspapers)C++17
4 / 100
13 ms7500 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define ff first #define ss second ll ttt; const ll INF=1e18; const ll MOD=1e9+7; const ll N=300007; ll n,m,k; vector<ll>g[N]; ll sz[N]; bool used[N]; void dfs(int v, int par=-1){ // cout<<"YOO"<<endl; sz[v]=1; for(int to:g[v]){ if(to!=par){ dfs(to,v); sz[v]+=sz[to]; } } } bool is_tree(int v, int par=-1){ used[v]=true; for(int to:g[v]){ if(to!=par){ if(used[to])return false; if(!is_tree(to,v))return false; } } return true; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // freopen("output.txt","w",stdout); // freopen("input.txt","r",stdin); cin>>n>>m; // if(m!=n-1)cout<<"NO\n"; for(int i=0;i<m;i++){ int x,y; cin>>x>>y; g[x].push_back(y); g[y].push_back(x); } for(int v=1;v<=n;v++){ if(!used[v]&&!is_tree(v)){ cout<<"NO\n"; return 0; } } for(int v=1;v<=n;v++){ dfs(v); int cnt=0; for(int to:g[v]){ cnt+=(sz[to]>1); } if(cnt>2){ cout<<"NO\n"; return 0; } } cout<<"YES 1 1\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...