记录编号 16060 评测结果 WWWTT
题目名称 烟花的寿命 最终得分 0
用户昵称 Gravatar苏轼 是否通过 未通过
代码语言 C++ 运行时间 2.015 s
提交时间 2010-04-19 12:03:09 内存使用 1.23 MiB
显示代码纯文本
#include <cstdio>
#include <cstring>
using namespace std;

const int MAXN=1003;

int T;
bool g[MAXN+1][MAXN+1],visited[MAXN];
int N;
int ans,way[MAXN],wayy[MAXN];

void dfs(int x,int dep)
{
	way[dep]=x;
	visited[x]=true;
	bool flag=false;
	for(int i=1;i<=N;i++)
		if (i!=x&&g[i][x]&&!visited[i])
		{
			dfs(i,dep+1);flag=true;
		}
	if (!flag&&dep>ans)
	{
		ans=dep;
		for(int i=0;i<=dep;i++)wayy[i]=way[i];
	}
}

void solve()
{
	memset(g,false,sizeof(g));
	ans=0;
	scanf("%d",&N);
	for(int i=1;i<N;i++)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		g[a][b]=g[b][a]=true;
	}
	for(int i=1;i<=N;i++)
	{
		memset(visited,false,sizeof(visited));
		dfs(i,0);
	}
	printf("%d\n",ans);
	for(int i=0;i<=ans;i++)
		printf("%d\n",wayy[i]);
}

int main()
{
	freopen("firework.in","r",stdin); 
	freopen("firework.out","w",stdout);
	scanf("%d",&T);
	for(int i=0;i<T;i++)
		solve();
}