在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裡扣除百分之幾的手續費,請問a最少需要多少錢使得轉賬後b收到100元。
第一行輸入兩個用空格隔開的正整數n和m,分別表示總人數和可以互相轉賬的人的對數。以下m行每行輸入三個用空格隔開的正整數x,y,z,表示標號為x的人和標號為y的人之間互相轉賬需要扣除z%的手續費(z<100)。最後一行輸入兩個用空格隔開的正整數a和b。資料保證a與b之間可以直接或間接地轉賬。
輸出a使得b到賬100元最少需要的總費用。精確到小數點後8位。
3 3
1 2 1
2 3 2
1 3 3
1 3103.07153164
dij過掉(堆優化)
code:
#include
#include
#include
#include
using
namespace std;
double b[
2001];
int e=
1,first[
2001];
struct f a[
201001];
bool book[
2001];
struct f2 p;
bool
operator
<
(const f2 &x,
const f2 &y)
priority_queue c;
voidjb(
int x,
int y,
double z)
intmain()
scanf
("%d%d"
,&q2,
&q);
for(
int i=
1;i<=n;i++
) b[i]
=0x7fffffff
; b[q2]
=100
; p.x=
100.0
,p.y=q2;
c.push
(p);
for(
int j=
1;jsize()
&&book[q]==0
;j++)}
}printf
("%.8f"
,b[q]);
return0;
}
最小花費 ssl2206 dijkstra
題目描述 在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裡扣除百分之幾的手續費,請問a最少需要多少錢使得轉賬後b收到100元。輸入檔案 第一行輸入兩個用空格隔開的正整數n和m,分別表示總人數和可以互相轉賬的人的對數。以下m行每行輸入三...
P1576 最小花費
在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裡扣除百分之幾的手續費,請問a最少需要多少錢使得轉賬後b收到100元。輸入格式 第一行輸入兩個正整數n,m,分別表示總人數和可以互相轉賬的人的對數。以下m行每行輸入三個正整數x,y,z,表...
洛谷P1576 最小花費
在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裡扣除百分之幾的手續費,請問a最少需要多少錢使得轉賬後b收到100元。輸入格式 第一行輸入兩個正整數n,m,分別表示總人數和可以互相轉賬的人的對數。以下m行每行輸入三個正整數x,y,z,表...