poj1724 帶限制的最短路

2021-08-09 02:24:35 字數 761 閱讀 3980

題意:乙個人要從1點到n點,有m條邊可以走,走每條邊要花一些錢,這個人只有k的錢,問花的錢不多於k且能到n的最短路。

spfa解決最短路,不過dist陣列要加一維,dist【i】【j】表示從1走到了i花了j錢的最短路。

感覺這時候就是個bfs

#include#include#include#includeusing namespace std;

int n,k;

struct node

node(int a,int b,int c,int d):to(a),next(b),w(c),l(d){}

}edge[10005];

typedef pairp;

int head[105],vis[105][10005];

int tot;

int dist[105][10005];

void spfa()}}

}int ans = 0x3f3f3f3f;

for(int i=0;i<=k;i++)

ans = min(ans,dist[n][i]);

if(ans!=0x3f3f3f3f) printf("%d\n",ans);

else printf("-1\n");

}int main()

{ int m,u,v,w,l; tot = 0;

scanf("%d%d%d",&k,&n,&m);

memset(head,-1,sizeof(head));

for(int i=0;i

POJ 1724 Roads 限制最短路

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

POJ 3594 帶限制的最短路 列舉 SPFA

題意 給出乙個有向圖,通過每條邊花費的時間wi以及每條邊的通行時間 bi,ei 問起點到終點路上花費時間 到達時間 出發時間,時間預設最開始是0 最短是多少。其實就是乙個加了限制條件的最短路,spfa可以做到,其實spfa是可以加很多擴充套件內容。但是注意,由於有通行時間的存在,中途有可能需要等待,...

POJ 1062 昂貴的聘禮 帶限制的最短路

題目鏈結 中文題目,就不說題意了.分析 很好的一道題。兩個關鍵 一是建圖,而是處理等級限制的問題。建圖的話,結點為每件物品,把探險者也看成乙個入度為零的節點,是n 1結點之一,我把他的標號設為0,探險者到其他物品的直接連線的權值為物品的原始 其他 i j的邊的權值為探險者獲得i後換j的 格。題目又要...