0
已解决
杜承俊
资深守护
资深守护
- #include<bits/stdc++.h>
- using namespace std;
- int n,m,u,v;
- double f[110][110];
- double x[110],y[110];
- int main(){
- //freopen(".in","r",stdin);
- //freopen(".out","w",stdout);
- for(int i=1;i<=100;i++)
- for(int j=1;j<=100;j++)
- f[i][j]=1e8;
- cin>>n;
- for(int i=1;i<=n;i++)
- cin>>x[i]>>y[i];
- cin>>m;
- for(int i=1;i<=m;i++){
- cin>>u>>v;
- double p=abs(x[u]-x[v]),q=abs(y[u]-y[v]);
- double t=sqrt(p*p+q*q);
- f[u][v]=t;
- }
- cin>>u>>v;
- for(int k=1;k<=n;k++)
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- if(f[i][j]>f[i][k]+f[k][j])
- f[i][j]=f[i][k]+f[k][j];
- printf("%0.2f",f[u][v]);
- return 0;
- }
- Wrong Answer:40分
- https://ke.codingtang.com/#/problems/submitInfo?id=2461356