堆 魚塘釣魚 為什麼不找點告訴我!

2021-07-09 14:50:25 字數 1127 閱讀 9790

魚塘釣魚(fishing)

【問題描述】

有n個魚塘排成一排(n<100),每個魚塘中有一定數量的魚,例如:n=5時,如下表:

即:在第1個魚塘中釣魚第1分鐘內可釣到10條魚,第2分鐘內只能釣到8條魚,……,第5分鐘以後再也釣不到魚了。從第1個魚塘到第2個魚塘需要3分鐘,從第2個魚塘到第3個魚塘需要5分鐘,……

【程式設計任務】

給出乙個截止時間t(t<1000),設計乙個釣魚方案,從第1個魚塘出發,希望能釣到最多的魚。

假設能釣到魚的數量僅和已釣魚的次數有關,且每次釣魚的時間都是整數分鐘。

【輸入格式】

輸入檔案共5行,分別表示:

第1行為n;

第2行為第1分鐘各個魚塘能釣到的魚的數量,每個資料之間用一空格隔開;

第3行為每過1分鐘各個魚塘釣魚數的減少量,每個資料之間用一空格隔開;

第4行為當前魚塘到下乙個相鄰魚塘需要的時間;

第5行為截止時間t;

【輸出格式】

輸出檔案僅乙個整數(不超過231-1),表示你的方案能釣到的最多的魚。

【輸入樣例】

510 14 20 16 9

2 4 6 5 3

3 5 4 4

14【輸出樣例】

76/*

雖然不得不承認——資料庫stl是個好東西

*/#include

#include

#include //優先佇列!! 

#define fish first

#define lake second

using namespace std;

priority_queue< pair>heap;//注意!!書名號之間必須有空格!

int t[101],f[101],d[101];

int ans,m,max,n,k,tl,time;

int main()

while(time>0&&heap.top().fish>0)

if(ans>max)max=ans;//打擂台

tl+=t[k]; //用時累計 

}cout

}

魚塘釣魚題解(堆解決)

這道題可以用 貪心 大根堆 來解決。先把題目放上來。描述 有n個魚塘排成一排 n 100 每個魚塘中有一定數量的魚,例如 n 5時,如下表 魚塘編號 123 45每1分鐘能釣到的魚的數量 1.1000 10 1420169 每1分鐘能釣魚數的減少量 1.100 246 5354 4即 在第1個魚塘中...

為什麼不創新

常見人抒情說,中國為什麼沒有kik呢?為什麼沒有instagram呢?語極哀怨。善,來看看 創新 需要什麼樣的土壤培植。首先人是網際網路上的第一生產力,一支能創新的團隊,必然具備以下的五個特徵。1 有創新的能力 不客氣地講,有創新能力的人不足10 的比例,即便在平均素質較高的網際網路行業,也不會超過...

CIO為什麼說「不」

選擇 是 對於有些人來說,是一種逃避責任的最好辦法,所有的後果都可以由那個提出建議的人來承擔。而當你說 不 的時候,不但會憑空給自己樹立很多對立面,同時也會將所有的責任肩負在自己身上。說 不 對於 cio來講是需要一定的勇氣,但更為重要的是它要求 cio具備乙個理性的頭腦。itit it建設勢必要 ...