HDU2680(兩點間多邊,避坑

2021-10-07 21:51:14 字數 707 閱讀 5664

傳送門

注意要點:兩點之間可能存在多邊,我的模板中除了floyd都是處理不了多邊的,但是floyd在這題顯然是不夠看的,直接超時。處理的辦法就是捨棄存邊的結構體edge,像floyd一樣定義乙個d[num][num]來存放兩點間的坐車時間,輸入時選取兩點之間的最小時間即可。對於只有個別站能乘坐的問題,只要設該站到原點的時間為0,最後求目的地到原點的時間即可。

#include#include#include#includeusing namespace std;

const int inf = 0x3f3f3f3f;

const int num = 1001;

int n, m, s, k;

int dis[num];

int done[num];

int d[num][num];

struct node

bool operator <(const node &a)const

};void dijkstra()

} }

}int main()

while(m--)

scanf("%d", &k);

while(k--)

dijkstra();

if(dis[s]else printf("-1\n");

}return 0;

}

兩點間的距離

設計乙個名為 mypoint 的類,表示乙個帶jc 座標和少座標的點。該類包括 編寫乙個測試程式,建立兩個點 0,0 和 10,30.5 並顯示它們之間的距離。如下 public class mypoint mypoint double x,double y public double getx p...

HDU 2001 計算兩點間的距離

problem description 輸入兩點座標 x1,y1 x2,y2 計算並輸出兩點間的距離。input 輸入資料有多組,每組佔一行,由4個實數組成,分別表示x1,y1,x2,y2,資料之間用空格隔開。output 對於每組輸入資料,輸出一行,結果保留兩位小數。sample input 0 ...

計算兩點間的距離

problem description 輸入兩點座標 x1,y1 x2,y2 計算並輸出兩點間的距離。input 輸入資料有多組,每組佔一行,由4個實數組成,分別表示x1,y1,x2,y2,資料之間用空格隔開。output 對於每組輸入資料,輸出一行,結果保留兩位小數。sample input 0 ...