洛谷 p1744 採購**商品
《愛與愁的故事第三彈·shopping》第一章。
中山路店山店海,成了購物狂愛與愁大神的「不歸之路」。中山路上有n(n<=100)家店,每家店的座標均在-10000~10000之間。其中的m家店之間有通路。若有通路,則表示可以從一家店走到另一家店,通路的距離為兩點間的直線距離。現在愛與愁大神要找出從一家店到另一家店之間的最短距離。你能幫愛與愁大神算出嗎?
輸入格式:
共n+m+3行:
第1行:整數n
第2行~第n+1行:每行兩個整數x和y,描述了一家店的座標
第n+2行:整數m
第n+3行~第n+m+2行:每行描述一條通路,由兩個整數i和j組成,表示第i家店和第j家店之間有通路。
第n+m+3行:兩個整數s和t,分別表示原點和目標店
輸出格式:
僅一行:乙個實數(保留兩位小數),表示從s到t的最短路徑長度。
輸入樣例#1: 複製
5輸出樣例#1: 複製0 02 0
2 20 2
3 15
1 21 3
1 42 5
3 51 5
3.41100%資料:n<=100,m<=1000
4.4 晚上,學妹問我這道題,其實是很久之前做的了,剛開始一看題目還以為是dp(揹包) hua ji
思路:根據每個點的 x,y 座標 求出每兩點間的直線距離(兩點間距離公式:sqrt( ( x1-x2 ) * ( x1-x2 ) + ( y1-y2 ) * ( y1-y2 ) ) )
然後跑一遍spfa,完事兒
/*學妹的**有些地方稍微給學妹改了一下,但大體是沒動的,希望學妹不要介意啊 2333
*/#include
#include
#include
#include
#define maxn 100000000
using
namespace
std;
double a[101][3], d[1010], b[1010
];int n, m, x, y, c[1010][3
], q, w;
intmain()
cin >> q >>w;
d[q] = 0
;
for(int i = 1; i <= n; i++)
}printf(
"%.2f
", d[w]);
return0;
}
突然發現有些看不懂學妹的** 2333 (放假回來讓學妹講講)
#include#include既然看不懂學妹的,那就好好寫題解吧#include
#include
#include
#include
#define m 10005
#define maxn 0x7fffffff
using
namespace
std;
queue
q;pair
pa[105]; //
存邊的橫(first)縱(second)座標
intn, m;
inttot;
double dis[m], cap[m]; //
開double 確保精度
intto[m], net[m], head[m], vis[m];
void add(int u, int v, double w)
void spfa(int x) }}
}int
main()
ints, tmp;
scanf(
"%d%d
", &s, &tmp);
spfa(s);
printf(
"%.2lf
",dis[tmp]);
return0;
}
洛谷 P1744 採購特價商品
愛與愁的故事第三彈 shopping 第一章。中山路店山店海,成了購物狂愛與愁大神的 不歸之路 中山路上有n n 100 家店,每家店的座標均在 10000 10000之間。其中的m家店之間有通路。若有通路,則表示可以從一家店走到另一家店,通路的距離為兩點間的直線距離。現在愛與愁大神要找出從一家店到...
P1744 採購特價商品(SPFA求最短路徑模板)
題目傳送門 給出從 1 11 n nn 編號的 n nn 個點,以及它們的座標 xi yi x i,y i xi y i 然後給出他們之間相連的 m mm 條邊,最後給出起點的編號 s ss 和終點的編號 t tt,求它們之間的最短距離。利用兩點間距離的距離公式 x1 x2 2 y 1 y2 2 s...
洛谷P3237 HNOI2014 公尺特運輸
公尺特是d星球上一種非常神秘的物質,蘊含著巨大的能量。在以公尺特為主要能源的d星上,這種公尺特能源的運輸和儲 存一直是乙個大問題。d星上有n個城市,我們將其順序編號為1到n,1號城市為首都。這n個城市由n 1條單向高速 通道連線起來,構成一棵以1號城市 首部 為根的樹,高速通道的方向由樹中的兒子指向...