记录编号 535426 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 GravatarRichard 是否通过 通过
代码语言 C++ 运行时间 0.011 s
提交时间 2019-07-05 08:52:20 内存使用 13.90 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int a[250][250],n,m,s,e;
int main(){
	freopen("city.in","r",stdin);
	freopen("city.out","w",stdout);
	for(int i=1;i<=250;i++)
		{
			for(int j=1;j<=250;j++)
			a[i][j]=0x3f3f3f3f;
		}
	cin>>n>>m>>s>>e;
	for(int i=1;i<=m;i++)
		{
			int x,y;
			cin>>x>>y;
			a[x][y]=1;//权值为1 
		}
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
 			for(int j=1;j<=n;j++)
 				if(a[i][j]>a[i][k]+a[k][j])
 					a[i][j]=a[i][k]+a[k][j];//floyed 
	cout<<a[s][e]+1;//以样例为例,5个城镇4条边 由于权值为1,所以实际上是4条权值为1的边 所以需要加上1 
	return 0;
}