记录编号 66520 评测结果 AAAAAAAAAA
题目名称 [USACO Open09] 捉迷藏 最终得分 100
用户昵称 Gravatar隨風巽 是否通过 通过
代码语言 C++ 运行时间 0.053 s
提交时间 2013-07-29 18:01:15 内存使用 0.62 MiB
显示代码纯文本
#include<iostream>
#include<fstream>
#include<queue>
#include<cstdio>
#include<vector>
using namespace std;
queue<int>q;
vector<int>e[20010];
int i,j,N,M,x,y,v,t,n,g[20010]={0},ansn=0,ansm=0,anss=0;
int main()
{
	freopen("hideseek.in","r",stdin);
	freopen("hideseek.out","w",stdout);
	scanf("%d%d",&N,&M);
	for(i=1;i<=M;i++)
	{	
		scanf("%d%d",&x,&y);
	    e[x].push_back(y);
		e[y].push_back(x);
	}
	g[1]=0;
	q.push(1);
	while(!q.empty())
	{
		v=q.front();
		n=e[v].size();
		for(i=0;i<n;i++)
        {
			j=e[v][i];
			if(g[j]==0&&j!=1)
			{	
				g[j]=g[v]+1;
				q.push(j);
			}
		}
	    q.pop();         //广搜基本步骤
	}
	for(i=2;i<=N;i++)
	{
		if(g[i]>ansm)
		{
			ansn=i;
			ansm=g[i];
		}
	}
	for(i=2;i<=N;i++)
        if(ansm==g[i])anss++;
	printf("%d %d %d\n",ansn,ansm,anss);
        return 0;
}