标签:
Description
Input
Output
Sample Input
2 0 0 3 4 3 17 4 19 4 18 5 0
Sample Output
Scenario #1 Frog Distance = 5.000 Scenario #2 Frog Distance = 1.414
裸的floyd...
注意格式
1A
1 /************************************************************************* 2 > File Name: poj/2253.cpp 3 > Author: 111qqz 4 > Email: rkz2013@126.com 5 > Created Time: 2015年10月22日 星期四 22时52分18秒 6 ************************************************************************/ 7 8 #include<iostream> 9 #include<iomanip> 10 #include<cstdio> 11 #include<algorithm> 12 #include<cmath> 13 #include<cstring> 14 #include<string> 15 #include<map> 16 #include<set> 17 #include<queue> 18 #include<vector> 19 #include<stack> 20 #include<cctype> 21 22 #define yn hez111qqz 23 #define j1 cute111qqz 24 #define ms(a,x) memset(a,x,sizeof(a)) 25 using namespace std; 26 const int dx4[4]={1,0,0,-1}; 27 const int dy4[4]={0,-1,1,0}; 28 typedef long long LL; 29 typedef double DB; 30 const int inf = 0x3f3f3f3f; 31 const int N=2E2+7; 32 double d[N][N]; 33 double x[N],y[N]; 34 int n; 35 36 37 double dis( int a,int b) 38 { 39 double res; 40 res = (x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]); 41 return sqrt(res); 42 } 43 int main() 44 { 45 #ifndef ONLINE_JUDGE 46 freopen("in.txt","r",stdin); 47 #endif 48 int cas = 0 ; 49 while (scanf("%d",&n)!=EOF&&n) 50 { 51 cas++; 52 printf("Scenario #%d\n",cas); 53 for ( int i = 0 ; i < n ; i++) 54 for ( int j = 0 ; j < n ; j++) 55 d[i][j] = 999999; 56 for ( int i = 0 ; i < n ; i++) scanf("%lf %lf",&x[i],&y[i]); 57 58 for ( int i = 0 ; i < n ; i++) 59 for ( int j = 0 ; j < n ; j++) 60 { 61 if (i==j) 62 { 63 d[i][j]=0; 64 } 65 else 66 { 67 d[i][j] =dis(i,j); 68 } 69 } 70 71 for ( int k = 0 ; k < n ; k++) 72 for ( int i = 0 ; i < n ; i++) 73 for ( int j = 0 ; j < n; j++ ) 74 d[i][j] = min(d[i][j],max(d[i][k],d[k][j])); 75 76 // printf("%f\n",d[0][1]); 77 printf("Frog Distance = %.3f\n",d[0][1]); 78 puts(""); 79 } 80 81 82 #ifndef ONLINE_JUDGE 83 fclose(stdin); 84 #endif 85 return 0; 86 }
标签:
原文地址:http://www.cnblogs.com/111qqz/p/4903174.html