青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

USACO 2.4 Cow Tours


這題綜合了dfs,floyd算法。

首先用 floyd計算出兩兩之間的最短路徑。然后用dfs將圖著色。對每兩兩不同顏色的結點,我們把它們相連,然后看產生的圖的直徑的大小。
直徑的大小只可能仍為原兩連通圖直徑之一,或者是包括新添加的路徑所產生的最長路徑,取這三者中的最大值。新路徑產生的最長路徑只可能是兩點的距離加上兩點到其他點的最長距離。最開始的時候只考慮了新添加的路徑,沒考慮原直徑會比新路徑大的情況,wa了n次。。

#include?<iostream>
#include?
<fstream>

#include?
<cfloat>
#include?
<cmath>

using?namespace?std;

ifstream?fin(
"cowtour.in");
ofstream?fout(
"cowtour.out");

#ifdef?_DEBUG
#define?out?cout
#define?in?cin
#else
#define?out?fout
#define?in?fin
#endif

double?path[150][150];

char?graph[150][150];

int?x[150];
int?y[150];

int?n;

int?color[150];

double?diameter[150];
double?maxPath[150];

void?floyd()
{
????
for(int?k=0;k<n;++k)
????????
for(int?i=0;i<n;++i)
????????????
for(int?j=0;j<n;++j){
????????????????
if(i!=j){
????????????????????path[i][j]
=min(path[i][j],path[i][k]+path[k][j]);
????????????????}
????????????}
}

void?make_color(int?i,int?c)
{
????
if(?color[i]!=0?)
????????
return;

????color[i]?
=?c;

????
for(int?j=0;j<n;++j){
????????
if(color[j]==0&&graph[i][j])
????????????make_color(j,c);
????}
}


void?solve()
{
????
in>>n;

????
for(int?i=0;i<n;++i){
????????
in>>x[i]>>y[i];
????}

????
for(int?i=0;i<n;++i){
????????
string?s;
????????
in>>s;
????????
for(int?j=0;j<n;++j){
????????????graph[i][j]
=s[j]-'0';
????????????
if(graph[i][j]){
????????????????path[i][j]?
=?sqrt(?(x[i]-x[j])*(x[i]-x[j])
????????????????????
+(y[i]-y[j])*(y[i]-y[j])?);
????????????}
else{
????????????????path[i][j]?
=?DBL_MAX/4;
????????????}
????????}
????}

????floyd();

????
int?c?=?0;
????
for(int?i=0;i<n;++i)
????????
if(color[i]==0)
????????????make_color(i,
++c);


????
for(int?i=0;i<n;++i){
????????maxPath[i]?
=?0;
????????
for(int?j=0;j<n;++j){
????????????
if(i!=j&&color[i]==color[j]){
????????????????maxPath[i]?
=?max(maxPath[i],path[i][j]);
????????????}
????????}

????????diameter[color[i]]?
=?max(diameter[color[i]],maxPath[i]);
????}


????
double?dia?=?DBL_MAX;

????
for(int?i=0;i<n;++i)
????????
for(int?j=i+1;j<n;++j){

????????????
if(color[i]==color[j])?continue;

????????????
double?d1?=?0;
????????????
for(int?p=0;p<n;++p){
????????????????
if(i!=p&&color[i]==color[p])
????????????????????d1?
=?max(d1,path[i][p]);
????????????}

????????????
double?d2?=?0;
????????????
for(int?p=0;p<n;++p){
????????????????
if(j!=p&&color[j]==color[p])
????????????????????d2?
=?max(d2,path[j][p]);
????????????}

????????????
double?dist?=?sqrt(?(x[i]-x[j])*(x[i]-x[j])+
????????????????????(y[i]
-y[j])*(y[i]-y[j])?);

????????????dia?
=?min(dia,max(d1+d2+dist,max(diameter[color[i]],diameter[color[j]]))?);
????????}

????
out.setf(ios::fixed,ios::floatfield);
????
out.precision(6);
????
out<<dia<<endl;
}

int?main(int?argc,char?*argv[])
{
????solve();?
????
return?0;
}


posted on 2009-06-27 22:10 YZY 閱讀(1541) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm 、USACO 、搜索 、圖論

導航

<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

統計

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲免费一在线| 久久国产精品久久久久久久久久| 久久久水蜜桃| 久久综合狠狠综合久久激情| 久久天堂国产精品| 国产亚洲精品自拍| 久久天天狠狠| 免费成人av在线| 最新成人在线| 欧美日韩亚洲一区二区三区四区 | 亚洲欧美精品中文字幕在线| 男女激情久久| 亚洲精品社区| 欧美亚洲免费电影| 在线观看精品视频| 欧美日韩成人综合在线一区二区| 亚洲精品视频在线| 性久久久久久久久| 亚洲电影激情视频网站| 欧美成年视频| 亚洲图片在线观看| 久久综合五月| 亚洲一区影院| 在线观看日韩av| 国产精品白丝av嫩草影院| 午夜精品在线| 91久久午夜| 亚洲欧美高清| 亚洲高清不卡av| 国产精品久久久一区麻豆最新章节 | 性色一区二区| 亚洲欧洲视频| 国产日韩一区二区三区在线播放 | 久久九九99| 一区二区三区高清不卡| 久久综合999| 亚洲欧美一区二区三区在线| 国产日韩欧美亚洲一区| 欧美大片专区| 久久久精品免费视频| 亚洲美女av网站| 免费久久99精品国产| 亚洲欧美日韩在线观看a三区| 亚洲第一黄网| 国产亚洲精品成人av久久ww| 欧美激情按摩在线| 久久亚洲不卡| 久久丁香综合五月国产三级网站| 欧美高清视频一区二区三区在线观看 | 国产视频观看一区| 国产一区二区视频在线观看| 先锋影音久久久| 亚洲第一视频| 欧美一区二区成人| 中文欧美字幕免费| 日韩午夜精品| 日韩亚洲一区二区| 亚洲国产日韩综合一区| 国产欧美精品日韩精品| 欧美精品日韩综合在线| 久久亚洲图片| 久久精品视频一| 亚洲欧美中文日韩v在线观看| 亚洲人精品午夜在线观看| 欧美高清视频一区二区三区在线观看| 久久久久久亚洲精品杨幂换脸 | 亚洲一级影院| 一区二区不卡在线视频 午夜欧美不卡在| 精品av久久久久电影| 国产女主播一区二区| 国产精品v一区二区三区 | 久久综合国产精品| 久久伊人一区二区| 女同性一区二区三区人了人一| 欧美在线不卡| 久久青草福利网站| 欧美大片在线观看| 欧美午夜电影在线| 国产精品入口| 激情久久一区| 日韩视频中文字幕| 亚洲欧美日韩精品久久奇米色影视| av成人黄色| 欧美一区成人| 欧美jizzhd精品欧美喷水| 免费国产一区二区| 亚洲人成网站777色婷婷| 亚洲精品一区二区三区四区高清 | 欧美日韩午夜精品| 国产精品欧美久久| 美女亚洲精品| 老牛国产精品一区的观看方式| 欧美在线高清| 裸体素人女欧美日韩| 亚洲国产精品ⅴa在线观看 | 亚洲自拍16p| 卡一卡二国产精品| 国产精品福利在线观看| 国产中文一区二区三区| 亚洲区一区二区三区| 亚洲午夜激情| 欧美jjzz| 欧美亚洲综合在线| 蜜桃精品一区二区三区| 欧美日韩国产bt| 国内外成人免费视频| 亚洲日本va午夜在线影院| 日韩视频在线免费观看| 久久国产日韩| 亚洲毛片在线| 欧美大片在线观看| 激情久久综合| 久久爱另类一区二区小说| 免播放器亚洲| 亚洲伊人久久综合| 欧美成人精品h版在线观看| 国产精品国内视频| 亚洲日本成人| 久久综合网色—综合色88| 亚洲欧洲综合另类| 久久综合中文色婷婷| 国产精品入口尤物| 国产精品99久久久久久久vr| 久久久久久午夜| 午夜亚洲福利| 国产精品一区二区在线观看| 亚洲国产黄色片| 久久亚洲欧洲| 久久精品免费播放| 国产性天天综合网| 亚洲免费人成在线视频观看| 久久午夜精品一区二区| 亚洲自拍都市欧美小说| 欧美国产视频一区二区| 久久国产精品久久久| 国产伦精品一区二区三| 一区二区免费在线视频| 亚洲电影免费观看高清完整版| 久久丁香综合五月国产三级网站| 欧美午夜不卡在线观看免费| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲午夜av电影| 亚洲激情在线观看| 欧美不卡一区| 日韩一本二本av| 亚洲黄色三级| 欧美成人中文| 99精品欧美| 一区二区三区精密机械公司 | 亚洲综合第一| 激情成人综合| 亚洲国产国产亚洲一二三| 亚洲伊人色欲综合网| 牛人盗摄一区二区三区视频| 99精品视频一区二区三区| 欧美人在线视频| 一本久道久久综合婷婷鲸鱼| 久久午夜视频| 欧美国产日韩免费| 亚洲午夜久久久| 亚洲女ⅴideoshd黑人| 国产精品自拍一区| 久久免费黄色| 欧美乱妇高清无乱码| 一区二区激情视频| 亚洲欧美激情在线视频| 国产一区二区精品久久91| 久久这里有精品15一区二区三区| 蜜臀91精品一区二区三区| 亚洲美女区一区| 亚洲欧美在线一区二区| 国内精品免费午夜毛片| 欧美高清视频在线| 国产精品a久久久久久| 久久精品成人| 狼狼综合久久久久综合网 | 亚洲精选91| 欧美一级二区| 99国产一区二区三精品乱码| 亚洲肉体裸体xxxx137| 欧美视频精品在线| 你懂的视频一区二区| 欧美日韩一区二区在线视频| 亚洲欧美日韩精品久久久| 久久精品亚洲热| 亚洲欧美国产精品桃花| 久久综合999| 欧美影院在线播放| 欧美日韩精品是欧美日韩精品| 午夜欧美不卡精品aaaaa| 老牛国产精品一区的观看方式| 亚洲一区二区三区国产| 久久久久一区二区三区| 亚洲永久在线观看| 亚洲一区二区黄色| 欧美影院精品一区| 91久久国产综合久久91精品网站| 毛片一区二区三区| 欧美一区网站| 欧美三级电影网|