三國志
時間限制:3000 ms | 記憶體限制:65535 kb
難度:5
描述 《三國志》是一款很經典的經營策略類遊戲。我們的小白同學是這款遊戲的忠實玩家。現在他把遊戲簡化一下,地圖上只有他一方勢力,現在他只有乙個城池,而他周邊有一些無人佔的空城,但是這些空城中有很多不同數量的同種財寶。我們的小白同學虎視眈眈的看著這些城池中的財寶。
按照遊戲的規則,他只要指派一名武將攻占這座城池,裡面的財寶就歸他所有了。不過一量攻占這座城池,我們的武將就要留守,不能撤回。因為我們的小白手下有無數的武將,所以他不在乎這些。
從小白的城池派出的武將,每走一公理的距離就要消耗一石的糧食,而他手上的糧食是有限的。現在小白統計出了地圖上城池間的道路,這些道路都是雙向的,他想請你幫忙計算出他能得到 的最多的財寶數量。我們用城池的編號代表城池,規定小白所在的城池為0號城池,其他的城池從1號開始計數。
輸入 本題包含多組資料:
首先,是乙個整數t(1<=t<=20),代表資料的組數
然後,下面是t組測試資料。對於每組資料報含三行:
第一行:三個數字s,n,m
(1<=s<=1000000,1<=n<=100,1<=m<=10000)
s代表他手中的糧食(石),n代表城池個數,m代表道路條數。
第二行:包含m個三元組行 ai,bi,ci(1<=a,b<=n,1<=c<=100)。
代表ai,bi兩城池間的道路長度為ci(公里)。
第三行:包含n個元素,vi代表第i個城池中的財寶數量。(1<=v<=100)
輸出 每組輸出各佔一行,輸出僅乙個整數,表示小白能得到的最大財富值。
樣例輸入
2 10 1 1
0 1 3
2 5 2 3
0 1 2 0 2 4 1 2 1
2 3
樣例輸出
2 5
** 鄭州大學校賽題目
分析:
此題就是乙個最短路加01揹包的應用。從0到其他每個城市的距離就是所要的髮費,每個城市的財富就是價值,而且總金額一定,典型的01揹包問題。
我們用spfa(bellman的佇列優化)求出最短路,再用一維滾動陣列的方法求解01揹包問題。
一想好就立刻把**寫出來了,一交wa立馬懵逼,結果發現是沒有存雙向邊
ac**:
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=110;
const
int inf=10000100;
struct edge
;int dis[maxn];
int val[maxn];
int inq[maxn];
vector
v[maxn];
queue
q;int n,s;
int bb[1000010];
void spfa(int v0)}}
}}void maxvalue()
}printf("%d\n",bb[s]);
}int main()
for(int i=1;i<=n;i++)
scanf("%d",&val[i]);
spfa(0);
maxvalue();
}return
0;}
《悟空三國志》隱私政策
悟空三國志尊重和保護利用使用者的隱私所有的服務。為了向您提供更準確,更人性化的服務,將悟空三國志使用和披露按照本隱私政策您的個人資訊。但是悟空三國志將是乙個高度的勤勉,審慎義務對待這些資訊。除本隱私政策另有規定外,未經您的許可之前,悟空三國志資訊將不會被披露或向第三方提供。悟空三國志更新本隱私政策不...
三國志5實用武將
quote 排除使用幻術,妖術,仙術。1.呂布,號為飛將,名不虛傳,能突善射,而且單挑更是無人能及,守城的時候真有一夫當關,萬夫莫開的感覺。2.趙雲,文武雙全,能力均衡,弓箭能力強,而且機動力很好,能攻能守,魅力也很高,招募兵馬,人才也不錯。3.孫堅,江東領袖,在水上無人能敵,弓箭有一定能力,魅力很...
三國志IX反 連合的條件
三國志ix反 連合的條件 成立反 連合 條件 遊戲開始一年後 與目標勢力君主非親子關係 與目標勢力關係為 中立 以下 即中立 不和 險惡 與目標勢力領土接壤,支配都市乙個以上 符合2,3,4條件的勢力最少有三個 不計異民族 結果 反 連合盟主 連合中 信望 最高勢力會被推舉為盟主 連合盟主勢力 信望...