e題 candies poj - 3159
n個人,m條規則
b比a多c個糖,問n比1多幾個
不知道為什麼佇列過不去,
#include
#include
#include
#include
#include
using namespace std;
#define n 30005
int dis[n]
,book[n]
,cnt,m,n;
int head[n]
;struct node
edge[n*5]
;void
build
(int x,
int y,
int z)
void
spfa
(int x)}}
}}intmain()
spfa(1
);printf
("%d\n"
,dis[n]);
return0;
}
這道題卡了我一上午,真是不明白啥意思,下午寫了一下午機組,迷迷糊糊一天過去了
#include
#include
#include
# define inf 0x7f7f7f7f
int book[
1010
],a[
1010
],b[
1010
],p[
1010];
double map[
1010][
1010
],dis[
1010];
intmain()
scanf
("%d"
,&m)
;for
(i=1
;i<=m;i++
)//城鎮間已有公路距離為0
memset
(book,0,
sizeof
(book));
for(i=
1;i<=n;i++
) book[1]
=1;for
(i=1
;ibook[u]=1
;for
(j=1
;j<=n;j++)}
}for
(i=1
;i<=n;i++)if
(map[i]
[p[i]]!=
0)printf
("%d %d\n"
,p[i]
,i);
}return0;
}
第二週 3 3最短路
時間限制 4 sec 空間限制 256 mb 給定一張 n 個點的無向帶權圖,節點的編號從 1 至 n,求從 s 到 t 的最短路徑長度。第一行 4 個數 n,m,s,t,分別表示點數 邊數 起點 終點。接下來 m 行,每行 3 個正整數 u,v,w,描述一條 u 到 v 的雙向邊,邊權為 w。保證...
Dijkstra演算法多條最短路徑下最短路徑的記錄
1.我們在使用dijkstra演算法求解源點到其餘頂點的最短路徑的時候,在大多數情況下最短路徑是只有一條的,但是也有可能存在著多條最短路徑的情況,所以之前使用整型的pre陣列來記錄當前節點的前驅節點的方法就不再適用這個問題了,所以需要另外的資料結構來進行記錄,而題目中告訴我們可能存在著多條最短的路徑...
二維最短路
三元組用map int,int set 儲存 可以通過前繼pre和當前節點u找到下乙個v,使得 pre,u,v 在三元組中的節點 include include include include include include include include include define mem a,...