Submission #736604

# Submission time Handle Problem Language Result Execution time Memory
736604 2023-05-06T02:10:58 Z josanneo22 Cat in a tree (BOI17_catinatree) C++17
0 / 100
1 ms 340 KB
#include<bits/stdc++.h>
using namespace std;

#define pb push_back 

const int maxn=2000;
int n,d;
vector<int> adj[maxn];
int vis[maxn],use[maxn];

void bfs(int u,int f,int cd){
	if(vis[u]) return;
	vis[u]=1;
	if(cd==0){
		use[u]=1;
		cd++;
	}
	else use[u]=0;
	for(auto&v:adj[u]){
		if(v==f) continue;
		bfs(v,u,(cd+1)%d);
	}
}
int cal(int rt){
	for(int i=0;i<n;i++){
		vis[i]=0; use[i]=0;
	}
	bfs(rt,-1,0);
	int ret=0;
	for(int i=0;i<n;i++){
		ret+=use[i];
	}
	return ret;
}
void solve(){
	cin>>n>>d;
	for(int i=0;i<n-1;i++){
		int x; cin>>x;
		adj[x].pb(i+1);
		adj[i+1].pb(x);
	}
	int ans=-1;
	for(int i=0;i<=n-1;i++){
		ans=max(ans,cal(i));
	}
	cout<<ans<<'\n';
}
int main(){
	ios_base::sync_with_stdio(0); cin.tie(0);
	solve();
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -