洛谷 P1744 採購特價商品

2022-03-06 23:49:11 字數 2018 閱讀 9310

洛谷 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

0 02 0

2 20 2

3 15

1 21 3

1 42 5

3 51 5

輸出樣例#1: 複製

3.41
100%資料: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號城市 首部 為根的樹,高速通道的方向由樹中的兒子指向...