Nugget Number

1003

นิยาม DP[i]=1DP[i] = 1 เมื่อ ii เป็น nugget number และ DP[i]=0DP[i] = 0 เมื่อ ii ไม่ใช่ nugget number

Pseudocode ในการหา DPDP จะเป็นดังต่อไปนี้

for i in [0, n]:
    DP[i] = 0
DP[6] = DP[9] = DP[12] = 1
for i in [13, n]:
    if DP[i-6] == 1 or DP[i-9] == 1 or DP[i-12] == 1:
        DP[i] = 1

จากนี้เลข ii ใดๆที่ DP[i]=1DP[i] = 1 คือ nugget number

ทั้งหมดนี้หาได้ในเวลา O(n)O(n)