性感❤代码在线求调
查看原帖
性感❤代码在线求调
809765
Limitless_lmw楼主2024/9/24 17:48
#include <bits/stdc++.h>
using namespace std;

int t,n,k;
int cnt;
vector<int> e[100005];
int siz[100005];

void read_(int &n){
	n=0;
	char ch=getchar();
	while(!isdigit(ch)) ch=getchar();
	while(isdigit(ch)){
		n=(n<<3)+(n<<1)+(ch^48);
		ch=getchar();
	}
	return ;
}

void dfs(int fa,int u){
	siz[u]=1;
	for(auto v:e[u]){
		if(v==fa) continue;
		dfs(u,v);
		siz[u]+=siz[v];
	}
	if(siz[u]==k){
		siz[u]=0,cnt++;
	}
	return ;
}

int main(){
	read_(t);
	while(t--){
		memset(siz,0,sizeof siz);
		read_(n),read_(k);
		if(n%k){
			puts("NO");
			continue;
		}
		cnt=0;
		for(int i = 0; i<=n; i++) e[i].clear();
		for(int i = 1,u,v ;i<n; i++){
			read_(u),read_(v);
			e[u].push_back(v);
			e[v].push_back(u);
		}
		dfs(0,1);
		if(cnt==n/k) puts("YES");
		else puts("NO");
	}
	return 0;
}
2024/9/24 17:48
加载中...