#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |