1.看不出這題是最短路問題,可以用迪傑斯特拉演算法。。。
2.物品交換還有等級限制,加大難度。
#include
#include
#include
#include
using namespace std;
#define inf 0x3f3f3f3
#define max 105
#define min(a,b) (aint sta[max]
;int map_[max]
[max]
;int graph[max]
[max]
;int dis[max]
;int vis[max]
;int n;
intdijsktra()
ans=dis[1]
;//坑,要跳過第乙個進行判斷
vis[1]
=1;for
(int i=
0; iif(min_==inf)
//不能省略,起先以為是優化程式。
vis[v]=1
;for
(int j=
1; j<=n; j++)}
dis[v]
=dis[v]
+map_[v]
[v];
ans=
min(ans,dis[v]);
}return ans;
}int
main()
}for
(int i=
1; i<=n; i++)}
left=sta[1]
-m>
0?sta[1]
-m:0
; right=left+m;
while
(left<=sta[1]
)//判斷是否超出區間
}for
(int i=
1; i<=n; i++)}
}int dollar=
dijsktra()
; ans=
min(ans,dollar)
; left++
;//---->列舉區間
right++;}
cout<}return0;
}
POJ1062 昂貴的聘禮 列舉 迪傑斯特拉)
description input 輸入第一行是兩個整數m,n 1 n 100 依次表示地位等級差距限制和物品的總數。接下來按照編號從小到大依次給出了n個物品的描述。每個物品的描述開頭是三個非負整數p l x x n 依次表示該物品的 主人的地位等級和替代品總數。接下來x行每行包括兩個整數t和v,分...
迪傑斯特拉演算法
if object id t test is not null drop table t test gocreate table dbo t test id int identity 1,1 not null primary key,自增字段,無意義 header varchar 500 第一點的名...
迪傑斯特拉演算法
dijkstra 迪傑斯特拉 演算法是典型的最短路徑路由演算法,用於計算乙個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴充套件,直到擴充套件到終點為止。dijkstra演算法 能得出最短路徑的最優解,但由於它遍歷計算的節點很多,所以效率低。dijkstra演算法是很有代表性的最短...