Submission #596055

#TimeUsernameProblemLanguageResultExecution timeMemory
596055BT21tataParachute rings (IOI12_rings)C++17
20 / 100
4094 ms82252 KiB
#include <bits/stdc++.h> using namespace std; int n; bool used[10005]; vector<int>g[1000005]; void Init(int N_) { n = N_; } void Link(int A, int B) { g[A+1].push_back(B+1); g[B+1].push_back(A+1); } bool dfs(int v, int p, int d) { //cout<<"ok "<<v<<' '<<p<<' '<<d<<' '; used[v]=1; int cnt=0; bool f=1; for(int u : g[v]) { if(u!=d) { cnt++; if(u!=p) { if(!used[u]) f&=dfs(u, v, d); else return 0; } } } //cout<<"cnt "<<cnt<<endl; if(cnt>2) return 0; return f; } int CountCritical() { int ans=0; for(int i=1; i<=n; i++) { bool ok=1; memset(used, 0, sizeof(used)); for(int j=1; j<=n; j++) { if(!used[j] and j!=i) ok&=dfs(j, 0, i); } ans+=ok; //cout<<i<<' '<<ok<<endl; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...