#45432: python解: 有點攏長 但19ms AC


chenwei980503@gmail.com (陳維(Z))

學校 : 新北市立北大高級中學
編號 : 278351
來源 : [101.12.86.8]
最後登入時間 :
2025-04-05 14:32:44
b511. 換銅板 -- 清華 MOOCs 2014 程式設計導論期末考 | From: [49.218.141.247] | 發表日期 : 2025-03-03 20:09

n=int(input())
coins=list(map(int, input().split()))
amount=int(input())
results=[]
if n==1:
for a in range(amount//coins[0]+1):
if a*coins[0]==amount:
results.append([a])
elif n==2:
for a in range(amount//coins[0]+1):
for b in range(amount//coins[1]+1):
if a*coins[0]+b*coins[1]==amount:
results.append([a, b])
elif n==3:
for a in range(amount//coins[0]+1):
for b in range(amount//coins[1]+1):
for c in range(amount//coins[2]+1):
if a*coins[0]+b*coins[1]+c*coins[2]==amount:
results.append([a, b, c])
elif n==4:
for a in range(amount//coins[0]+1):
for b in range(amount//coins[1]+1):
for c in range(amount//coins[2]+1):
for d in range(amount//coins[3]+1):
if a*coins[0]+b*coins[1]+c*coins[2]+d*coins[3]==amount:
results.append([a, b, c, d])
elif n==5:
for a in range(amount//coins[0]+1):
for b in range(amount//coins[1]+1):
for c in range(amount//coins[2]+1):
for d in range(amount//coins[3]+1):
for e in range(amount//coins[4]+1):
if a*coins[0]+b*coins[1]+c*coins[2]+d*coins[3]+e*coins[4]==amount:
results.append([a, b, c, d, e])
results.sort()
for res in results:
print("("+",".join(map(str, res))+")")
 
ZeroJudge Forum