关于我的SPFA:为啥死了?
查看原帖
关于我的SPFA:为啥死了?
670978
Arc0_FishyFool楼主2024/7/1 15:08

https://www.luogu.com.cn/record/163579393

#include <bits/stdc++.h>
using namespace std;
int n,m,s,t,head[6220],cnt,dis[2550],inq[2550];
struct edge{
	int nxt,to,d;
}e[6220];
void adde(int u,int v,int w){
	e[++cnt].nxt=head[u];
	e[cnt].to=v;
	e[cnt].d=w;
	head[u]=cnt;
}
int main(){
	cin>>n>>m>>s>>t;
	memset(dis,0x3f,sizeof(dis));
	dis[s]=0;
	for(int i=1;i<=m;++i){
		int u,v,w;
		cin>>u>>v>>w;
		adde(u,v,w);
		adde(v,u,w);
	}
	inq[s]=1;
	queue<int> q;
	q.push(s);
	while(!q.empty()){
		int u=q.front();
		q.pop();
		inq[u]=0;
		for(int i=head[u];i;i=e[i].nxt){
			int v=e[i].to;
			if(dis[v]>dis[u]+e[i].d){
				dis[v]=dis[u]+e[i].d;
				if(inq[v]) continue;
				inq[v]=1;
				q.push(v);
			}
		}
	}
	cout<<dis[t];
	return 0;
}

为啥死因是WA?在电脑上测试2.in的时候返回值鬼畜+没有输出,求指点

2024/7/1 15:08
加载中...