美團2020校招編程題


小美是團隊的負責人,需要為團隊制定工作的計划,以幫助團隊產出最大的價值。

每周團隊都會有兩項候選的任務,其中一項為簡單任務,一項為復雜任務,兩項任務都能在一周內完成。第i周,團隊完成簡單任務的價值為li,完成復雜任務的價值為hi。由於復雜任務本身的技術難度較高,團隊如果在第i周選擇執行復雜任務的話,需要在i-1周不做任何任務專心准備。如果團隊在第i周選擇執行簡單任務的話,不需要提前做任何准備。

現在小美的團隊收到了未來N周的候選任務列表,請幫助小美確定每周的工作安排使得團隊的工作價值最大。

輸入描述:

第一行為N(0≤N≤1000)

接下來的N行表示第1到N周兩項候選任務的價值,第i行的格式為:li hi,其中 0 < li < 10000, 0< hi < 10000。

 

輸出描述:

輸出一個數字,表示小美團隊在未來N周能產出的最大價值。

 

輸入例子1:
4
10 5
1 50
10 5
10 1

 

輸出例子1:
70

第一周就做了困難的工作,如果第一周要求不能做困難工作,那么第一周只能選擇li,初始條件改變

def maxValue(n, li, hi):
    pre, cur = 0, 0
    for i in range(n):
      pre, cur
= cur, max(pre+hi[i], cur+li[i]) return cur n = int(input()) li, hi = [], [] for i in range(n): tmp = input().strip().split() li.append(int(tmp[0])) hi.append(int(tmp[1])) print(maxValue(n, li, hi))

 

第一周要求不能做困難工作

def maxValue(n, li, hi):
    pre, cur = 0, 0
    for i in range(n):
     if i == 0:
       pre, cur = cur, pre+li[i]

        pre, cur = cur, max(pre+hi[i], cur+li[i])
          
    return cur
  
n = int(input())
li, hi = [], []
for i in range(n):
    tmp = input().strip().split()
    li.append(int(tmp[0]))
    hi.append(int(tmp[1]))
      
print(maxValue(n, li, hi))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM