poj 1724 ROADS bfs 優先佇列

2022-04-14 10:43:50 字數 733 閱讀 6422

題目鏈結

題意:在有費用k限制的條件下,求從1到n的最短距離,如果最短距離相同求費用最小的,邊為有向邊,其中可能有

多個相同的源點和目標點,但是距離和費用不同。

分析:用bfs和鄰接表來把每乙個邊搜一下,因為用了優先佇列,所以先到n的一定是最小的 。

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8

#define ll long long

9const

int maxn = 100+50;10

using

namespace

std;

11int

k, n, r;

12struct

node

1321

} ne, pos;

22 vectore[maxn];

2324

void bfs() //

裡面不能加vis陣列,因為乙個點可能走多次

2541

for(i = 0; i < e[pos.v].size(); i++)

4249

}50 printf("

-1\n");

51}52int

main()

5365

bfs();66}

67return0;

68 }

pku 1724 ROADS BFS 優先佇列

題意 bob現在有的錢數為k,他想從城市1到城市n,給出m條連線兩個城市的有向邊,並且給出路的長度w,和經過這條路要交的錢數c。問bob在花的過路費不超過k的前提下能到達城市n的最短路徑為多長。思路 才開始我想spfa來做,開兩個陣列dis記錄距離最短disw記錄話費最小,在鬆弛的時候進行距離與費用...

poj 1724 優先佇列 Dij

題意 k點點數,n個點,m條邊,每條邊有權值以及通過時會消耗的點數,求在消耗點數不超過k點的情況下,從1到n的最短路徑。分析 顯然是乙個最短路的變形,而且是一種常見的模型。最短路本身是乙個求解最優解的問題,在這裡加多了乙個限制條件,就是點數,所以變為 在一定的限制條件下求解乙個最優化問題 的模型,這...

POJ 1724 Roads 限制最短路

roads 題意 給出一張n個節點的圖,每條邊有長度與花費兩種權值。求在花費c內從點1到點n的最短路徑。有限制條件的最短路。dijkstra將滿足不超過花費的被更新點加入優先佇列 在佇列裡按照長度排序。include include using namespace std const int sn ...