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

隨筆 - 87  文章 - 279  trackbacks - 0
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 221459
  • 排名 - 118

最新評論

閱讀排行榜

評論排行榜

BellmanFord實現

The Doors

Time limit: 1 Seconds?? Memory limit: 32768K??
Total Submit: 214?? Accepted Submit: 63??

You are to find the length of the shortest path through a chamber containing obstructing walls. The chamber will always have sides at x = 0, x = 10, y = 0, and y = 10. The initial and final points of the path are always (0, 5) and (10, 5). There will also be from 0 to 18 vertical walls inside the chamber, each with two doorways. The figure below illustrates such a chamber and also shows the path of minimal length.


Input

The input data for the illustrated chamber would appear as follows.

2
4 2 7 8 9
7 3 4.5 6 7

The first line contains the number of interior walls. Then there is a line for each such wall, containing five real numbers. The first number is the x coordinate of the wall (0 < x < 10), and the remaining four are the y coordinates of the ends of the doorways in that wall. The x coordinates of the walls are in increasing order, and within each line the y coordinates are in increasing order. The input file will contain at least one such set of data. The end of the data comes when the number of walls is -1.


Output

The output file should contain one line of output for each chamber. The line should contain the minimal path length rounded to two decimal places past the decimal point, and always showing the two decimal places past the decimal point. The line should contain no blanks.


Sample Input

1
5 4 6 7 8
2
4 2 7 8 9
7 3 4.5 6 7
-1


Sample Output

10.00
10.06

#include?<iostream>
#include?
<cmath>
using?namespace?std;

const?double?INF?=?2000000000;
const?int?MAXN?=?100;

struct?POINT
{
????
double?x,?y;
}
;
struct?EDGE
{
????
int?u,?v;
}
;

double?g[MAXN][MAXN];
EDGE?e[MAXN
*MAXN];
int?n;
int?i,?j;
double?wX[20];
double?pY[20][4];
double?x;
POINT?p[MAXN];
int?pSize;
int?eSize;

double?Dis(POINT?a,?POINT?b)
{
????
return?sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}


double?Cross(double?x1,?double?y1,?double?x2,?double?y2,?double?x3,?double?y3)
{
????
return?(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1);
}


bool?IsOk(POINT?a,?POINT?b)
{
????
if?(a.x?>=?b.x)?return?false;
????
int?i,?j;
????
bool?flag?=?true;
????i?
=?0;
????
while?(wX[i]?<=?a.x?&&?i?<?n)?{
????????i
++;
????}

????
while?(wX[i]?<?b.x?&&?i?<?n)?{
????????
if?(Cross(a.x,?a.y,?b.x,?b.y,?wX[i],?0)
????????
*Cross(a.x,?a.y,?b.x,?b.y,?wX[i],?pY[i][0])?<?0
????????
||?Cross(a.x,?a.y,?b.x,?b.y,?wX[i],?pY[i][1])
????????
*Cross(a.x,?a.y,?b.x,?b.y,?wX[i],?pY[i][2])?<?0
????????
||?Cross(a.x,?a.y,?b.x,?b.y,?wX[i],?pY[i][3])
????????
*Cross(a.x,?a.y,?b.x,?b.y,?wX[i],?10)?<?0)?{
????????????flag?
=?false;
????????????
goto?ou;
????????}

????????i
++;
????}

????ou:;
????
return?flag;
}


double?BellmanFord(int?beg,?int?end)
{
????
double?d[MAXN];
????
int?i,?j;
????
for?(i=0;?i<MAXN;?i++)?{
????????d[i]?
=?INF;
????}

????d[beg]?
=?0;
????
bool?ex?=?true;
????
for?(i=0;?i<pSize?&&?ex;?i++)?{
????????ex?
=?false;
????????
for?(j=0;?j<eSize;?j++)?{
????????????
if?(d[e[j].u]?<?INF?&&?d[e[j].v]?>?d[e[j].u]?+?g[e[j].u][e[j].v])?{
????????????????d[e[j].v]?
=?d[e[j].u]?+?g[e[j].u][e[j].v];
????????????????ex?
=?true;
????????????}

????????}

????}

????
return?d[end];
}


void?Solve()
{
????p[
0].x?=?0;
????p[
0].y?=?5;
????pSize?
=?1;
????
for?(i=0;?i<n;?i++)?{
????????scanf(
"%lf",?&wX[i]);
????????
for?(j=0;?j<4;?j++)?{
????????????p[pSize].x?
=?wX[i];
????????????scanf(
"%lf",?&p[pSize].y);
????????????pY[i][j]?
=?p[pSize].y;
????????????pSize
++;
????????}

????}

????p[pSize].x?
=?10;
????p[pSize].y?
=?5;
????pSize
++;
????
for?(i=0;?i<pSize;?i++)?{
????????
for?(j=0;?j<pSize;?j++)?{
????????????g[i][j]?
=?INF;
????????}

????}

????eSize?
=?0;
????
for?(i=0;?i<pSize;?i++)?{
????????
for?(j=i+1;?j<pSize;?j++)?{
????????????
if?(IsOk(p[i],?p[j]))?{
????????????????g[i][j]?
=?Dis(p[i],?p[j]);
????????????????e[eSize].u?
=?i;
????????????????e[eSize].v?
=?j;
????????????????eSize
++;
????????????}

????????}

????}

????printf(
"%.2lf\n",?BellmanFord(0,?pSize-1));
}


int?main()
{
????
while?(scanf("%d",?&n)?!=?EOF)
????
{
????????
if?(n?==?-1)?break;
????????Solve();
????}

????
return?0;
}

posted on 2006-10-09 01:05 閱讀(513) 評論(0)  編輯 收藏 引用 所屬分類: ACM題目
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            红桃视频欧美| 亚洲国产另类 国产精品国产免费| 亚洲乱码国产乱码精品精| 蜜桃精品久久久久久久免费影院| 久久精品欧洲| 亚洲第一页在线| 亚洲国产高清在线| 久久综合伊人77777尤物| 在线播放中文一区| 91久久线看在观草草青青| 欧美黄色影院| 亚洲欧美日韩高清| 午夜欧美大片免费观看| 伊人久久婷婷| 亚洲精品乱码| 国产欧美综合在线| 欧美成人免费在线| 欧美日韩一区二区三区在线视频| 亚洲欧美一区二区三区久久| 欧美一级久久| 最新成人在线| 亚洲一区精品视频| 在线精品国精品国产尤物884a| 亚洲激情国产| 国产夜色精品一区二区av| 欧美激情精品久久久久| 欧美性淫爽ww久久久久无| 久久精品成人| 欧美日韩ab| 国产精品久久九九| 久久深夜福利| 国产精品成人v| 免费人成精品欧美精品| 99re在线精品| 黄网站色欧美视频| 亚洲久久在线| 亚洲高清在线| 性久久久久久久久久久久| 99精品视频免费观看| 久久爱另类一区二区小说| 日韩午夜在线| 久久久五月天| 欧美在线播放高清精品| 欧美精品久久久久久| 久久综合图片| 国产精品一区在线观看你懂的| 亚洲激情二区| 亚洲三级国产| 久久精品在线播放| 欧美性大战久久久久久久蜜臀| 免费久久精品视频| 国产精品视频xxxx| 日韩网站在线| 99视频在线观看一区三区| 久久久噜久噜久久综合| 久久精品国产亚洲a| 欧美午夜精品久久久| 91久久久久久久久久久久久| 国内一区二区三区在线视频| 亚洲在线观看视频| 欧美日韩国产色视频| 欧美二区在线播放| 在线播放日韩欧美| 久久久精品视频成人| 久久久久在线观看| 国产女精品视频网站免费| 亚洲视频播放| 亚洲欧美日韩视频一区| 国产精品久久福利| 亚洲欧美日韩第一区| 国产精品高潮呻吟久久| 一本在线高清不卡dvd | 免费不卡在线观看| 老司机aⅴ在线精品导航| 国产一区清纯| 久久精品国产久精国产一老狼| 久久精品在线| 久久gogo国模裸体人体| 久久青草久久| 亚洲国产精品久久91精品| 蜜臀久久久99精品久久久久久| 你懂的国产精品| 亚洲人体偷拍| 欧美视频一区二区三区| 亚洲宅男天堂在线观看无病毒| 性色av一区二区三区在线观看| 国产裸体写真av一区二区| 欧美一区午夜精品| 国产亚洲欧美在线| 久久字幕精品一区| 亚洲全黄一级网站| 香蕉国产精品偷在线观看不卡| 国产自产在线视频一区| 美女啪啪无遮挡免费久久网站| 亚洲国产精品久久久久秋霞蜜臀| 一区二区三区色| 国产日韩欧美亚洲| 久久亚洲捆绑美女| 亚洲精品在线看| 国产精品夫妻自拍| 久久国产日韩| 亚洲日韩成人| 久久av二区| 亚洲欧洲精品一区二区| 国产精品久久久久毛片大屁完整版| 欧美一区二区在线观看| 亚洲欧洲日本专区| 欧美一区亚洲| 一本色道久久综合亚洲91| 国产一区二区在线观看免费| 欧美第十八页| 午夜日韩福利| 亚洲精品国产欧美| 国产美女搞久久| 欧美日韩1234| 久久婷婷久久| 亚洲欧美中文字幕| 亚洲欧洲综合另类| 麻豆精品视频在线观看视频| 亚洲一区二区三区中文字幕在线 | 国产精品任我爽爆在线播放 | 亚洲无吗在线| 亚洲国产精品视频| 久久精品在这里| 亚洲综合色自拍一区| 91久久精品一区二区三区| 国产一区二区三区四区在线观看 | 六月丁香综合| 久久超碰97人人做人人爱| 在线亚洲免费| 亚洲免费久久| 亚洲国产婷婷| 欧美黑人国产人伦爽爽爽| 久久麻豆一区二区| 性感少妇一区| 性18欧美另类| 西西人体一区二区| 性娇小13――14欧美| 亚洲女人天堂成人av在线| 在线一区二区三区四区| 99精品国产热久久91蜜凸| 在线看国产一区| 亚洲成人资源| 在线播放精品| 亚洲激情亚洲| 亚洲人成绝费网站色www| 亚洲国产毛片完整版| 在线观看日韩一区| 在线欧美日韩| 亚洲精品久久久久| 一本大道久久a久久精品综合| 久久久伊人欧美| 久久精品理论片| 久久夜色精品国产亚洲aⅴ| 久久久精品性| 欧美韩国在线| 亚洲免费成人av| 一本一本久久a久久精品牛牛影视| 亚洲美女色禁图| 亚洲影院色无极综合| 亚洲免费一在线| 久久精品最新地址| 欧美成人一区二区三区| 欧美精品v日韩精品v韩国精品v| 欧美精品少妇一区二区三区| 欧美另类专区| 国产九九精品视频| 激情成人亚洲| 欧美大胆成人| 欧美性大战久久久久| 韩国女主播一区二区三区| 亚洲日本激情| 亚洲欧美伊人| 男人天堂欧美日韩| 亚洲美女在线国产| 亚洲一区二区动漫| 久久夜色精品国产欧美乱| 欧美日本精品| 国产一区二区三区高清在线观看 | 久久成人免费日本黄色| 久色婷婷小香蕉久久| 欧美视频中文字幕在线| 国产一区自拍视频| 亚洲精品在线三区| 久久aⅴ国产欧美74aaa| 91久久精品国产91性色| 亚洲欧美日韩精品在线| 免费美女久久99| 国产精品看片你懂得| 亚洲激情一区二区三区| 小嫩嫩精品导航| 欧美成人国产一区二区| 午夜精品视频在线| 欧美激情网站在线观看| 狠狠色噜噜狠狠色综合久| 在线亚洲+欧美+日本专区| 久久人人爽国产| 亚洲伊人第一页| 欧美久久久久久| 亚洲第一免费播放区|