제출 #61783

#제출 시각아이디문제언어결과실행 시간메모리
61783theknife2001낙하산 고리들 (IOI12_rings)C++17
20 / 100
4035 ms1324 KiB
#include <bits/stdc++.h>


using namespace std;
const int N=5005;
vector < int > vec[N];
int n;
bool visited[N];

void Init(int N_) {
  n = N_;

}

void Link(int A, int B) {
    vec[A].push_back(B);
    vec[B].push_back(A);
}

bool dfs(int u , int p , int black)
{
    visited[u]=1;
    bool q=0;
    int cnt=0;
    for(auto v:vec[u])
    {
        if(v==black||v==p)
            continue ;
        if(visited[v])
            return 1;
        cnt++;
        q|=dfs(v,u,black);
    }
    if(cnt>=2&&p!=-1)
        q=1;
    if(p==-1&&cnt>2)
        q=1;
    return q;
}

int CountCritical() {
    int ans=0;
    bool q;
    for(int i=0;i<n;i++)
    {
        q=0;
        memset(visited,0,sizeof visited);
        for(int j=0;j<n;j++)
        {
            if(visited[j]==0&&j!=i)
                q|=dfs(j,-1,i);
        }
        if(!q)
            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...