其他点AC第三个点WA?!
查看原帖
其他点AC第三个点WA?!
312820
Chinshyo楼主2020/10/1 13:54
#include<bits/stdc++.h>
using namespace std;

struct node
{
	int to,cost;
};

bool visited [10005];
int dis[10005];
vector <node> a[10005];

void dij(int s)
{
	priority_queue< pair<int,int> , vector< pair<int,int > > , greater< pair<int,int > > >pr;
	pr.push(make_pair(0,s));
	memset(dis,0x3f3f3f3f,sizeof(dis));
	dis[s]=0;
	memset(visited,false,sizeof(visited));
	while(!pr.empty())
	{
		int now=pr.top().second;
		pr.pop();
		if(visited[now]==true)
		{
			continue;
		}
		visited[now]=true;
		for(int i=0;i<a[now].size();i++)
		{
			int next=a[now][i].to;
			if(dis[now]+a[now][i].cost < dis[next])
			{
				dis[next]=dis[now]+a[now][i].cost;
				pr.push( make_pair(dis[next],next) );
			}
		}
	}
	
}
int main()
{
	int n,m,s;
	cin>>n>>m>>s;
	
	int u,v,l;
	for(int i=1;i<=m;i++)
	{
		cin>>u>>v>>l;
		node temp;
		temp.to=v;
		temp.cost=l;
		a[u].push_back(temp);
	}
	dij(s);
	for(int i=1;i<=n;i++) cout<<dis[i]<<" ";
	return 0;
}

蒟蒻WA在第3个点,请求神犇们帮忙看看呗~

2020/10/1 13:54
加载中...