第四道ACM程式題

2021-07-10 16:34:14 字數 716 閱讀 5558

1.題目編號:1013

2.簡單題意:某公司連續5個月有乙個盈虧報表,每年有八次。每次的盈虧報表總是虧的,但每個月要麼是虧,要麼是贏,在這種情況下,給出盈利s和虧損d來計算全年公司最高盈利多少,輸出盈利,否則輸出deficit

3.解題思路形成過程:要想得到最高的盈利,則需要使每五個月裡出現最少的虧損月數。又因為每五個月既有虧又有贏,所以每五個月裡虧損的月數有1、2、3、4

當虧損月數為1時,全年中則有兩個月份虧損;

當虧損月份為2時,全年中則有四個月份虧損;

當虧損月數為3時,全年中則有6個月份虧損;

當虧損月份為4時,全年中則有9個月份虧損。

4.感悟:雖然**很短,但要想起來如何去做是個很費事的題目,最主要的是讀懂題意,感覺英文這麼多,而且我一般理解不了出題人的意思,這是致命的缺點=.=,平時沒有好好學習英文,一些單詞都不認識,也是解決這個問題的難題之一。這次我又馬虎了一次,連續提交了三遍都不成功,感覺自己寫的挺對的,結果最後終於發現,忘了寫return 0(┬_┬)費了半天的勁才找出來這個錯誤,現在不怎麼用c++,感覺這些基本的知識都不知道了,o(︶︿︶)o 唉!吃一塹長一智吧~

5.ac的**:

#include

using  namespace std;

int main()

{int s,d;

while (cin>>s>>d){

int max=-1;

if (4*s

第三道ACM程式題

1.題目編號 1006 3.簡單思路形成過程 將給的樓層數放在乙個動態陣列裡面,只需要知道比較一下相鄰資料的大小就可以知道要用層數乘以6還是4。4.感悟 看似簡單的一道題,其實往往暗藏著一些容易被人忽略的細節,比如連續的兩個數相同,則也需要將時間加上5。還有給時間初始化的時候需要將它寫在while裡...

劍指Offer第三第四道題

第三題 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。思路 始終從列表的第一項插入資料。coding utf 8 class listnode def init self,x self.val x self.next none class solution 返回從尾部到頭部的列表值序列,例如 1,2,...

ACM集訓第四天

尤拉篩法 定義乙個n 1長度的陣列,全部定義為1即認為其全是素數,0和1首先排除其不是素數賦值為0,從2開頭,只要是a i 0就跳過不然就就往後判斷迴圈,2是素數裡面寫for int j 2 ji n j a ji 0 將素數的全部倍數全部賦值為0,目前已知的最快的判斷的判斷素數的方法 動態規劃揹包...