Home >Database >Mysql Tutorial >[U]2.4.3 Cow Tours

[U]2.4.3 Cow Tours

WBOY
WBOYOriginal
2016-06-07 15:39:071150browse

总算是做到了一点点的图论题了~ 意味着后面的难题要来了 还是觉得自己太懒,不愿去花时间,不愿意相信自己。 这个题呢,有点点意思,本来我的代码超时的,随手改了点小东西,没预料到过的竟然过了~ 哇哈哈哈~另类的秒掉了。 解题思路很简单,但是求解过程中

总算是做到了一点点的图论题了~ 意味着后面的难题要来了

还是觉得自己太懒,不愿去花时间,不愿意相信自己。

这个题呢,有点点意思,本来我的代码超时的,随手改了点小东西,没预料到过的竟然过了~ 哇哈哈哈~另类的秒掉了。

解题思路很简单,但是求解过程中会绕很多圈子,有点头疼。

枚举不在一个联通图中的两个点,做边连接它们,在根据题中的定义,求出农场的直径,再通过寻找农场直径中最大值的最小值。这里佷绕!!!

Code:

/*
ID:sevenst4
LANG:C++
PROG:cowtour
*/
#include<stdio.h>
#include<cmath>
#define INF 1111111
using namespace std;

struct node
{
 	   double x,y;
}p[160];

int n;
double dis[160][160];

double max( double a,double b ){ return a>b?a:b; }
double min( double a,double b ){ return a<b double dist int i j return sqrt gmdis a ret="0;" for if dis>dis[a][i]?ret:dis[a][i];
       return ret;
}

double getall()
{
 	   double ret=0;
 	   for( int i=1;idis[i][k]+dis[k][j] )
    	 	 dis[i][j]=dis[i][k]+dis[k][j];
    
    double ans=INF;
    for( int i=1;ians )
		  	 	 continue;
		  	 ans=min( max( getall(),m ),ans );
  	     }
  	     
	printf( "%lf\n",ans );
	
 	return 0;
}
</b></cmath></stdio.h>



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn