POJ 2586-暴力水題
阿新 • • 發佈:2018-12-09
題目:考驗英語和語文能力。
借鑑於:不知道是誰寫的不太詳細的題目解析;詳細版我寫在後面了。
>錯誤分析:不想讀題。題目出的有點不夠清楚。
題目拆解:
1)12個月的盈虧分析
2)每一個月要麼是盈要麼是虧,不同月份盈利額不會改變;虧損額也不會改變。(照應INPUT)
3)每連續的5個月一定是虧損的
4)求12個月總的算起來,盈利多少?如果虧損,虧損最少為多少?
num 需要多少個deficit才能使得5個月中deficit>surplus
123455554321 重複次數 ---line1 123456789012 月份序號 ---line2 ----- ----- ---------- ---++--- -++++- 543214512345 按照虧損次數進行的分類 ---line3 >= 5 < 5 1 2 3 4
如上圖,如果1/5的虧損,那麼line3的所有“1”就是必須虧損的月份;2/5,那麼就是所有的“2”,有四次。
程式碼:
#include <iostream> using namespace std; int main(){ int surplus, deficit; int cnt; while(cin >> surplus >> deficit){ cnt = 0; if(deficit > surplus*4){ cnt = surplus*10 - deficit*2; } else if(2*deficit > surplus*3){ cnt = surplus*8 - deficit*4; } else if(3*deficit > surplus*2){ cnt = surplus*6 - deficit*6; } else if(4*deficit > surplus){ cnt = surplus*3 - deficit*9; } else {//5 deficits cnt = -1; } if(cnt < 0) cout << "Deficit\n"; else cout << cnt << '\n'; } return 0; } // num is 需要多少個deficit才能使得5個月中deficit>surplus // 123455554321 // 123456789012 // ----- ----- // ---------- // ---++--- // -++++- // 543214512345 // >= 5 // < 5 // 1 // 2 // 3 // 4