全WA求助!!!
查看原帖
全WA求助!!!
760776
zzy_zzy楼主2023/1/4 18:32

RT,在样例的输出中本来输出是 103.07153164103.07153164,可是经过宇宙射线影响它变成了 103.09278351103.09278351

#include<bits/stdc++.h>
using namespace std;
int n,m;
double w[2010][2010],dis[2010];
bool vis[2010];
priority_queue<pair<double,int> >q;
void Dijkstra(int s){
	for(int i=1;i<=n;i++){
		dis[i]=INT_MAX;
		vis[i]=0;
	}
	dis[s]=1;
	q.push(make_pair(1,s));
	while(q.size()){
		int x=q.top().second;
		q.pop();
		if(vis[x]){
			continue;
		}
		vis[x]=1;
		for(int i=1;i<=n;i++){
			if(i==x){
				continue;
			}
			if(dis[i]>dis[x]*w[x][i]){
				dis[i]=dis[x]*w[x][i];
				q.push(make_pair(dis[i],i));
			}
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int x,y;
		double z;
		cin>>x>>y>>z;
		z=1-z/100.0;
		w[x][y]=z;
	}
	int s,t;
	cin>>s>>t;
	Dijkstra(s);
	printf("%.8lf",100/dis[t]);
    return 0;
}
2023/1/4 18:32
加载中...