新手启示者
#include <bits/stdc++.h>
using name** std;
double a[2001][2001],dis[2001]={0},maxn;
int n,m,i,j,k,x,y,f[2001]={0};
void init(){
cin>>n>>m;
for(int i=1;i<=m;i++){
scanf("%d%d",&j,&k);
scanf("%lf",&a[j][k]);
a[j][k]=(100-a[j][k])/100;
a[k][j]=a[j][k];
}
cin>>x>>y;
}
void da(int x){
for(i=1;i<=n;i++)dis[i]=a[x][i];
dis[x]=1,f[x]=1;
for(int i=1;i<=n-1;i++){
maxn=0;
for(j=1;j<=n;j++){
if(f[j]==0&&dis[j]>maxn){k=j;maxn=dis[j];}
}
f[k]=1;
if(k==y)break;
for(j=1;j<=n;j++){
if(f[j]==0&&dis[k]*a[k][j]>dis[j])dis[j]=dis[k]*a[k][j];
}
}
}
int main(){
init();
da(x);
p**ntf("%0.8lf",100/dis[y]);
ret**n 0;
}
80分.........................
汪宇航在2021-08-04 18:56:39追加了内容
D
汪宇航在2021-08-04 19:21:05追加了内容
D
汪宇航在2021-08-04 20:06:04追加了内容
D!
汪宇航在2021-08-05 08:17:09追加了内容
DING
汪宇航在2021-08-05 08:19:27追加了内容
@赵逸凡 @陈曦 @李瑞曦 @曹博扬 @汪恺恒 @葛新 @王文博 @酷町侠 @酷町猫 @酷丁 @酷町喵~o( =∩ω∩= )o~
汪宇航在2021-08-05 13:27:23追加了内容
DD
资深守护
尊敬的汪宇航先生
我不会
但是我有洛谷啊!
https://www.luogu.com.cn/p**blem/P1576是一样的,可以看看题解
谢谢
此致,敬礼
2021/8/5
杜承俊
杜承俊在2021-08-05 09:44:15追加了内容
P1576 最小花费
初级天翼
核心:
n=read();
m=read();
for (int i=1;i<=m;i++)
{
X=read();Y=read();Z=read();
add(X,Y,Z);
add(Y,X,Z);
}
t=read();s=read();
for (int i=0;i<=n+1;i++) dis[i]=23333333.0;
q.push(s);
dis[s]=100.0;
vis[s]=1;
while (!q.empty())
{
u=q.f**nt();q.pop();
vis[u]=0;
for (int i=po[u];i;i=ne[i])
{
v=to[i];
if (dis[v]>(double)(dis[u])/(1-0.01*wi[i]))
{
dis[v]=(double)(dis[u])/(1-0.01*wi[i]);
if (vis[v]==0)//入队
{
vis[v]=1;
q.push(v);
}
}
}
}