我的P1670代码被外星人加入神奇东西!!!请问为什么n方跑不过1e4
  • 板块灌水区
  • 楼主Zq_water
  • 当前回复10
  • 已保存回复11
  • 发布时间2024/7/31 11:06
  • 上次更新2024/7/31 12:35:39
查看原帖
我的P1670代码被外星人加入神奇东西!!!请问为什么n方跑不过1e4
895435
Zq_water楼主2024/7/31 11:06
#include<bits/stdc++.h>
#define INF 1e16
#define endl '\n'
#define PI acos(-1)
#define pb push_back
#define int long long
#define mem(x,v) memset(x,v,sizeof x)
using namespace std;
const int N = 1e4+5;
inline int read(){
	register int x=0,f=1;register char c=getchar();
	while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9')x=(x<<1)+(x<<3)+(c^48),c=getchar();
	return x*f;
}

int n,siz[N];
vector <int> g[N];

inline void dfs(int u,int fa){
	siz[u]=1;
	for(int v:g[u]){
		if(v==fa)continue;
		dfs(v,u),siz[u]+=siz[v];
	}
}
inline int ck(int u){
	for(int v:g[u])if(siz[v]*2>n)return 0;
	return 1;
}
signed main(){
//	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	n=read();
	for(register int i=1,u,v;i<n;i++)u=read(),v=read(),g[u].pb(v),g[v].pb(u);
	for(register int i=1;i<=n;i++){
		dfs(i,-1);
		if(ck(i))cout<<i<<endl;
	}
	return 0;
}
2024/7/31 11:06
加载中...