暴力样例没过求助
  • 板块P3915 树的分解
  • 楼主qip101
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/8/18 18:36
  • 上次更新2023/10/27 14:44:12
查看原帖
暴力样例没过求助
333800
qip101楼主2022/8/18 18:36
#include <bits/stdc++.h>
#define MAXN 100100
using namespace std;
int T,n,k,tot,siz[MAXN];
vector <int> G[MAXN];
inline void add(int x,int y)
{
	G[x].push_back(y);
}
inline void dfs(int u,int fa)
{
	siz[u]=1;
	for(int i=0;i<G[u].size();i++)
	{
		if(i==fa) continue;
		dfs(i,u);
		siz[u]+=siz[i];
	}
	if(siz[u]==k)
		tot++,siz[u]-=k;
}
int main()
{
	cin >> T;
	while(T--)
	{
		tot=0;
		memset(siz,0,sizeof(siz));
		for(int i=0;i<=n;i++)
			G[i].clear();
		cin >> n >> k;
		for(int i=1;i<=n-1;i++)
		{
			int x,y;
			cin >> x >> y;
			add(x,y);
			add(y,x);
		}
		if((n/k)!=0)
			cout << "NO" << endl;
		else
		{
			dfs(1,-1);
			if(tot==n/k)	
				cout << "YES" << endl;
			else
				cout << "NO" << endl;
		}
	}
	return 0;
}
2022/8/18 18:36
加载中...