#include<bits/stdc++.h>
using namespace std;
int a,b,n,m,s,head[2010],nxt[2010],idx,to[2010];
double dis[2010],w[2010];
bool vis[2010];
struct node{
double ds;
int pt;
friend bool operator < (const node &x,const node &y){
return x.ds<y.ds;
}
};
priority_queue<node> q;
void add(int u,int v,int k){
idx++;
w[idx]=1-1.0*k/100.0;
to[idx]=v;
nxt[idx]=head[u];
head[u]=idx;
}
void dij(int x){
dis[x]=1;
q.push({dis[x],x});
while(!q.empty()){
node nod=q.top();
q.pop();
int y=nod.pt;
if(vis[y]) continue;
vis[y]=true;
for(int i=head[y];i;i=nxt[i]){
if(dis[to[i]]<dis[y]*w[i]){
dis[to[i]]=dis[y]*w[i];
q.push({dis[to[i]],to[i]});
}
}
}
}
int main(){
cin>>n>>m;
int x,y,z;
// double z;
for(int i=1;i<=m;i++){
// cin>>x>>y>>z;
scanf("%d%d%d",&x,&y,&z);
add(x,y,z);
add(y,x,z);
}
// for(int i=1;i<=2010;i++) dis[i]=0x3f3f3f3f;
cin>>a>>b;
dij(a);
double ans=100.0/dis[b];
//cout<<fixed<<setprecision<<(8)<<ans;
printf("%.8lf",ans);
return 0;
}
为什么全部TLE了??!!