POJ 2253 Frogger 最短路 难度:0

http://poj.org/problem?id=2253

#include <iostream>
#include <queue>
#include <cmath>
#include <iomanip>
using namespace std;
queue <int > que;
int co[202][2];
double d[202][202],u[202][202];
int n;
int main(){
    ios::sync_with_stdio(false);
    int t=0;
    while(cin>>n&&n){
        t++;
        for(int i=0;i<n;i++){
            cin>>co[i][0]>>co[i][1];
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
				u[i][j]=(co[i][0]-co[j][0])*(co[i][0]-co[j][0])+(co[i][1]-co[j][1])*(co[i][1]-co[j][1]);
                d[i][j]=sqrt(u[i][j]);
            }
        }
                for(int k=0;k<n;k++){
            for(int j=0;j<n;j++){
        for(int i=0;i<n;i++){
                    if(d[i][j]>max(d[i][k],d[k][j])){
                        d[i][j]=max(d[i][k],d[k][j]);
                    }
                }
            }
		}
        cout<<"Scenario #"<<t<<endl;
        cout<<"Frog Distance = "<<setiosflags(ios::fixed)<<setprecision(3)<<d[0][1]<<endl<<endl;
    }
    return 0;
}

  

posted @ 2015-08-24 11:58  雪溯  阅读(142)  评论(0编辑  收藏  举报