#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
int n, resp, qtd3, viz[maxn], eh[maxn];
vector<int>v[maxn];
bool ja=false;
void Init(int N_){
resp = n = N_;
}
void Link(int a, int b){
v[a].push_back(b);
v[b].push_back(a);
if(v[a].size()>=4){
if(ja) resp=0;
else if(qtd3==viz[a]+1) resp=1; // tem o proprio a
ja=true;
}
if(v[b].size()>=4){
if(ja) resp=0;
else if(qtd3==viz[b]+1) resp=1; // tem o proprio b
ja=true;
}
if(v[a].size()==3){
qtd3++; eh[a]++;
int at=0;
for(int i : v[a]){
viz[i]++;
if(viz[i]+eh[i]==qtd3) at++;
}
resp=at;
}
if(v[b].size()==3){
qtd3++; eh[b]++;
int at=0;
for(int i : v[b]){
viz[i]++;
if(viz[i]+eh[i]==qtd3) at++;
}
resp=at;
}
}
int CountCritical(){
return resp;
}
# | 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... |