能否套利
sample input
3usdollar
britishpound
frenchfranc
3usdollar 0.5 britishpound
britishpound 10.0 frenchfranc
frenchfranc 0.21 usdollar
3usdollar
britishpound
frenchfranc
6usdollar 0.5 britishpound
usdollar 4.9 frenchfranc
britishpound 10.0 frenchfranc
britishpound 1.99 usdollar
frenchfranc 0.09 britishpound
frenchfranc 0.19 usdollar
0sample output
case 1: yes
case 2: no
題意:
給你幾種貨幣,再給出來兩種貨幣之間的匯率(單向的),問你有有可能從中套利。
做法:
我是用map容器給幾種貨幣進行編號,編號完成就可以視之為不同的點了。然後跑一次佛洛伊達,這個時候用的是乘法。並且點到它本身設為1,初始化時令它到所有點的距離都為0。最後再查詢一次有沒有那個點到他本身的距離大雨1,如果有就可以套得利潤。
**
#include
#include
#include
//使用map容器時不可或缺
#include
using namespace std;
mapint> mp;
char a[
150]
,b[150
],c[
150]
;int u[50]
,v[50];
intmain()
for(i=
1; i<=n; i++
)for
(j=1
; j<=n; j++)if
(i==j)e[i]
[j]=1;
else e[i]
[j]=0;
//如何初始化很重要,除了到本身,其餘從零開始
scanf
("%d"
,&m)
;for
(i=1
; i<=m; i++
)for
(k=1
; k<=n; k++
)for
(i=1
; i<=n; i++
)for
(j=1
; j<=n; j++
)int flag=0;
for(k=
1; k<=n; k++)}
printf
("case %d: "
,cas++);
if(flag)
printf
("yes\n");
else
printf
("no\n");
}return0;
}
變形最短路
有沒有感覺神似 acmer的出行計畫 我們知道dijkstra是貪心策略的dp嘛,貪心的是距離 然而有時除了距離還有別的限制,在這裡是油。這時候花費最小不一定是最優,還要考慮剩餘的油 dp i,j 表示到i點時剩餘j油時最少的花費 在乙個點可以選擇向下走 油夠的情況 或者加1份油 多次加乙份油就相當...
dij最短路 變形
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 作為乙個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連線城市的快速道路。每個城市的救援隊數量和每一條連線兩個城市的快速道路長度都標在地圖上。...
最短路 記錄路徑 變形!!
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 作為乙個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連線城市的快速道路。每個城市的救援隊數量和每一條連線兩個城市的快速道路長度都標在地圖上。...