題意:乙個人要從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的 格。題目又要...