记录编号 112789 评测结果 AAAAAAAAAA
题目名称 [USACO Open09] 捉迷藏 最终得分 100
用户昵称 GravatarKZNS 是否通过 通过
代码语言 C++ 运行时间 0.056 s
提交时间 2014-07-17 09:15:23 内存使用 0.49 MiB
显示代码纯文本
#include<fstream>
#include<vector>
#include<deque>
using namespace std;
int main()
{
	ifstream fi("hideseek.in");
	ofstream fo("hideseek.out");
	int n,m,h,end[20003],cd,k,big=0,ss=0,ex;
	deque<int>dui;
	vector<int>c[20003];
	fi>>n>>m;
	for(int i=0;i<m;i++)
	{
		fi>>h>>k;
		c[h].push_back(k);
		c[k].push_back(h);
	}	
	for(int i=0;i<=n;i++)
		end[i]=2147483647;
	dui.push_back(1);
	end[1]=0;
	while(!dui.empty())
	{
		cd=dui.front();
		dui.pop_front();
		for(int i=0;i<c[cd].size();i++)
		{
			if(end[cd]+1<end[c[cd][i]])
			{
				end[c[cd][i]]=end[cd]+1;
				dui.push_back(c[cd][i]);
			}
		}
	}
	for(int i=1;i<=n;i++)
		if(end[i]>big)
		{
			ss=1;
			big=end[i];
			ex=i;
		}
		else
			if(end[i]==big)
				ss++;
	fo<<ex<<' '<<big<<' '<<ss<<endl;
	return 0;
}