Python 「最短」挑戰(12 18)

2021-09-03 09:33:34 字數 742 閱讀 3667

有1元、5元、10元、50元、100元、500元的硬幣各若干枚,用乙個六元陣列c表示。現在要用這些硬幣來支付k元,最少需要多少枚硬幣?

兩行,第一行六個數,空格隔開,表示硬幣的數量;第二行乙個數k,表示目標值。

最少需要的硬幣枚數,如果無法湊成,輸出0。

其餘要求同首題。

v,c,k=[1

,5,10

,50,100

,500],

list

(map

(int

,input()

.split())

),int(

input()

)def

main

(k,i=

5,ans=0)

:return ans if i==-1

else main(k-

min(k//v[i]

,c[i]

)*v[i]

,i-1

,ans+

min(k//v[i]

,c[i]))

print

(main(k)

)'''

ans=0

for i in range(5,-1,-1):

while c[i]>0 and k>=v[i]:

k-=v[i]

c[i]-=1

ans+=1

print(ans)

'''

Python 「最短」挑戰(12 19)

有乙個長為n的數列a。請求出這個序列中最長的上公升序列的長度。上公升序列指的是對於任意的i,j都滿足a i 兩行,第一行乙個數n,表示數列長度 第二行n個數,空格隔開,表示數列裡的數。最長上公升序列長度。其餘要求同首題。n,a int input list map int input split p...

Python 「最短」挑戰(12 20)

有n項工作,每項工作分別在s i 時間開始,在t i 時間結束。對於每項工作,你都可以選擇參與與否。如果選擇了參與,那麼自始至終都必須全程參與。此外,參與工作的時間段不能重疊 即使是開始的瞬間和結束的瞬間的重疊也是不允許的 求最多能參與多少項工作。比如,當n 5,s 1,2,4,6,8 t 3,5,...

Python 「最短」挑戰(12 21)

有一種特殊的蜜蜂,每一年乙隻雌蜂生乙隻雄蜂,乙隻雄蜂生乙隻雌蜂和雄蜂,然後這兩隻蜜蜂就會死去。現在出現了乙隻神奇的雌蜂,它每年都可以生乙隻雄蜂而且不會死去。請你求出,在只有這乙隻雌蜂的初始情況下,過了n年以後雌蜂和雄蜂各有多少。例如,n等於3的時候,有3只雌蜂4只雄蜂。每一行都有乙個數n 0 如果n...