不是,哥们!
查看原帖
不是,哥们!
989997
DGL__DGL_AFO楼主2024/5/13 20:59

这为啥RE啊

记录

#include<bits/stdc++.h>
using namespace std;
int h[114514],e[214514],ne[214514],w[214514],idx;
int n,m,s;
int a,b,c;
int d[114514];
bool st[114514];
int q[114514],t=1,ww;

void add(int a,int b,int c)
{
	idx++;
	ne[idx]=h[a];
	e[idx]=b;
	w[idx]=c;
	h[a]=idx;
}

void spfa()
{
	q[++ww]=1;
	while(ww>=t)
	{
		int x=q[t];t++;
		st[x]=0;
		for(int i=h[x];i;i=ne[i])
		{
			int y=e[i],z=w[i];
			if(d[y]>d[x]+z)
			{
				d[y]=d[x]+z;
				
				if(!st[y])
			  {
			  	q[++ww]=y;
			  	st[y]=1;
		  	}
			}
			
		}
		
	}
	
}

int main()
{
	//memset(h,-1,sizeof h);
	cin>>n>>m>>s;
	memset(d,0x3f,sizeof d);
	d[s]=0;st[s]=true;
	while(m--)
	{
		cin>>a>>b>>c;
		add(a,b,c);
	}
	
	spfa();
	
	for(int i=1;i<=n;i++)
	  cout<<d[i]<<' ';
	
	
	return 0;
}

 
2024/5/13 20:59
加载中...