Submission #606744

# Submission time Handle Problem Language Result Execution time Memory
606744 2022-07-26T08:02:13 Z socpite Cat in a tree (BOI17_catinatree) C++17
0 / 100
1 ms 212 KB
#include<bits/stdc++.h>
using namespace std;

#define f first
#define s second

typedef long long ll;

const int maxn = 105;
const int mod = 1e9+7;

int d[maxn];
vector<int> tree[maxn];
int n, D;

stack<int> q;

void dfs(int x, int p, int dep){
    d[x]=-1;
    for(auto v: tree[x]){
        if(v==p)continue;
        if(!dep){
            d[v]--;
            if(d[v] <= 1)q.push(v);
        }
        else dfs(v, x, dep-1);
    }
}

int main(){
    cin >> n >> D;
    for(int i = 1; i < n; i++){
        int x;
        cin >> x;
        tree[x].push_back(i);
        tree[i].push_back(x);
        d[x]++;
        d[i]++;
    }
    for(int i = 0; i < n; i++)if(d[i]==1){
        q.push(i);
    }
    int ans= 0;
    while(!q.empty()){
        auto x = q.top();
        q.pop();
        if(d[x] < 0)continue;
        ans++;
        dfs(x, -1, D-1);
    }
    cout << ans;
}


# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -