发表时间:2015-05-27来源:网络
#include<iostream>#include<stdio.h>#include<string.h>#include<set>#include<ctime>#include<algorithm>#include<queue>#include<cmath>#include<map>#define oo 1000000007#define ll long long#define pi acos(-1.0)#define MAXN 50005using namespace std; struct node{ int x,y,next;}line[MAXN*2]; int n,AnsNum,AnsData,ans[MAXN],_next[MAXN];bool used[MAXN];void addline(int x,int y,int m){ line[m].next=_next[x],_next[x]=m; line[m].x=x,line[m].y=y; return;}int dfs(int x){ int MaxSub=0,num=0,t,k; k=_next[x]; while (k) { if (!used[line[k].y]) { used[line[k].y]=true; t=dfs(line[k].y); MaxSub=max(t,MaxSub); num+=t; used[line[k].y]=false; } k=line[k].next; } MaxSub=max(MaxSub,n-(num+1)); if (MaxSub==AnsData) ans[++AnsNum]=x; else if (MaxSub<AnsData) { AnsData=MaxSub; AnsNum=0,ans[++AnsNum]=x; } return num+1;}int main(){ int i,num; while (~scanf("%d",&n)) { memset(_next,0,sizeof(_next)); for (i=1;i<n;i++) { int x,y; scanf("%d%d",&x,&y); addline(x,y,i*2-1); addline(y,x,i*2); } memset(used,false,sizeof(used)); AnsData=oo; used[1]=true; dfs(1); sort(ans+1,ans+1+AnsNum); printf("%d",ans[1]); for (i=2;i<=AnsNum;i++) printf(" %d",ans[i]); printf("/n"); } return 0;}
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
华为智能光伏官方版(FusionSolar)下载v25.3.101.001 安卓版
130.65MB |商务办公
PETKIT小佩宠物官方软件下载v13.1.1 安卓版
300.76MB |系统工具
分包管家app下载v3.7.3 安卓版
58.74MB |商务办公
tplink物联监控摄像头app下载v5.10.5.1681 安卓版
94.39M |社交娱乐
tplink无线摄像头软件(改名tplink物联)下载v5.11.21.1795 安卓手机客户端
94.93MB |系统工具
多屏互动软件下载v10.1.2471 安卓最新版本
108.16MB |系统工具
朴朴森山官方版下载v1.3.3 安卓版
26.43MB |商务办公
aik钥匙工具app下载v2.7.0 安卓版
82.46M |系统工具
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05