记录编号 45286 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 GravatarCloud 是否通过 通过
代码语言 C++ 运行时间 0.004 s
提交时间 2012-10-23 09:22:42 内存使用 3.28 MiB
显示代码纯文本
#include<fstream>
#include<queue>
using namespace std;
bool map[51][51];
int f[51];
struct yu
{
	int a;
	int v;
};
queue<yu> dq;
yu tmp;
int main(void)
{
	ifstream fin("city.in");
	ofstream fout("city.out");
	int n,m;
	int s,e;
	int i,j,k;
	fin>>n>>m;
	fin>>s>>e;
	for(k=0;k<m;k++)
	{
		fin>>i>>j;
		map[i][j]=1;
	}
	for(k=1;k<=n;k++)
		f[k]=~0u>>1;
	tmp.a=s;
	tmp.v=1;
	dq.push(tmp);
	while(dq.size())
	{
		for(i=1;i<=n;i++)
		{
			tmp=dq.front();
			if(map[tmp.a][i])
			{
				tmp.a=i;
				tmp.v++;
				if(f[i]>tmp.v)
				{
					f[i]=tmp.v;
					dq.push(tmp);
				}
			}
		}
		dq.pop();
	}
	fout<<f[e];
	fin.close();
	fout.close();
	return 0;
}