傳送門
注意要點:兩點之間可能存在多邊,我的模板中除了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 ...