Submission #1149218

#TimeUsernameProblemLanguageResultExecution timeMemory
1149218julia_08Parachute rings (IOI12_rings)C++20
0 / 100
4097 ms42180 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 1e6 + 10; int deg[MAXN]; vector<int> adj[MAXN]; int n; void Init(int n_){ n = n_; for(int i=0; i<n; i++){ adj[i].clear(); deg[i] = 0; } } void Link(int a, int b){ adj[a].push_back(b); adj[b].push_back(a); deg[a] ++, deg[b] ++; } int CountCritical(){ int ans = 0; for(int i=1; i<=n; i++){ bool ok = true; for(auto j : adj[i]){ deg[j] --; } for(int j=1; j<=n; j++){ if(j != i && deg[j] > 2){ ok = false; } } for(auto j : adj[i]){ deg[j] ++; } if(ok) ans ++; } /* int cnt_deg = 0; for(int i=0; i<n; i++){ if(deg[i] >= 3){ cnt_deg ++; } } for(int i=0; i<n; i++){ int cur_deg = cnt_deg; if(deg[i] >= 3) cur_deg --; for(auto j : adj[i]){ if(deg[j] == 3) cur_deg --; } if(cur_deg == 0) ans ++; } */ 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...