第二週下 最短路

2021-10-09 19:55:46 字數 1359 閱讀 8531

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,...