1 #include<bits/stdc++.h> 2 using namespace std; 3 int n; 4 int x,y; 5 double ans[150][150]; 6 int a[150][150]; 7 int m,s,t; 8 int main() 9 { 10 memset(ans,0x7f,sizeof(ans)); 11 cin>>n; 12 for(int i=1;i<=n;i++) 13 cin>>a[i][1]>>a[i][2]; 14 cin>>m; 15 for(int i=1;i<=m;i++) 16 { 17 cin>>x>>y; 18 ans[y][x]=ans[x][y]=sqrt(pow(double(a[x][1]-a[y][1]),2)+pow(double(a[x][2]-a[y][2]),2)); 19 } 20 cin>>s>>t; 21 for(int k=1;k<=n;k++) 22 for(int i=1;i<=n;i++) 23 for(int j=1;j<=n;j++) 24 if((i!=j)&&(i!=k)&&(j!=k)&&(ans[i][j]>ans[i][k]+ans[k][j])) 25 ans[i][j]=ans[i][k]+ans[k][j]; 26 printf("%.2lf ",ans[s][t]); 27 return 0; 28 }