最后一个点RE了,求助!
  • 板块P1396 营救
  • 楼主__Devil__
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/8/25 09:11
  • 上次更新2023/11/4 09:07:25
查看原帖
最后一个点RE了,求助!
531900
__Devil__楼主2021/8/25 09:11
#include<bits/stdc++.h>
using namespace std;
int n,m,e,s,t;
struct line{
	int from,to,len;
	line(){};
	line(int A,int B,int C)
	{
		from=A;
		to=B;
		len=C;
	}
}edge[20005];
int last[20005],next[20005];
void add(int x,int y,int z)
{
	edge[++e]=line(x,y,z);
	next[e]=last[x];
	last[x]=e;
}
queue<int>q;
int dis[20005];
bool vis[20005];
int main()
{
	cin>>n>>m>>s>>t;
	for(int i=1;i<=m;i++)
	{
		int x,y,z;
		cin>>x>>y>>z;
		add(x,y,z);
		add(y,x,z);
	}
memset(dis,0x3f3f3f,sizeof(dis));
dis[s]=0;vis[s]=false;q.push(s);
while(q.size())
{
	int x=q.front();
	q.pop();
	vis[x]=false;
	for(int i=last[x];i;i=next[i])
	{
	int y=edge[i].to;
	int dist=max(dis[x],edge[i].len);
		if(dis[y]>dist)
		{
			dis[y]=dist;
			if(vis[y]==false)
			{
			vis[y]=true;
			q.push(y);
			}
		}
				
	}
}
	cout<<dis[t];
	return 0;
}
2021/8/25 09:11
加载中...