玄关,为什么会RE呢
  • 板块灌水区
  • 楼主North_encounter
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/10/13 20:26
  • 上次更新2024/10/13 23:52:11
查看原帖
玄关,为什么会RE呢
850632
North_encounter楼主2024/10/13 20:26

题目

#include<bits/stdc++.h>
using namespace std;
int n,d;
int cnt=0;
int vis[100001];
int head[100001];
struct op{
	int pos;
	int num;
};
queue<op> q;
struct zja{
	int next,to;
}edge[100001];
inline void add(int u,int v){
	edge[++cnt].to=v;
	edge[cnt].next=head[u];
	head[u]=cnt;
	return;
}
signed main(){
	scanf("%d%d",&n,&d);
	for(int i=1;i<=n-1;i++){
		int u,v;
		scanf("%d%d",&u,&v);
		add(u,v);
		add(v,u);
	}
	int ans=-1;
	q.push((op){1,0});
	vis[1]=1;
	while(!q.empty()){
		op ztj=q.front();
		q.pop();
		if(ztj.num>d){
			continue;
		}else{
			ans++;
		}
		for(int i=head[ztj.pos];i;i=edge[i].next){
			if(vis[edge[i].to]) continue;
			vis[edge[i].to]=1;
			q.push((op){edge[i].to,ztj.num+1});
		}
	}
	cout<<ans;
	
	
	return 0;
}
2024/10/13 20:26
加载中...