題目連結: https://zerojudge.tw/ShowProblem?problemid=d289

# 內容

本題非常簡單?!可就不一定了,那就得看你如何看本題了。

請求:1A + 13B + 33C + 43D + 139E + 169F + 1309G + 2597H = I ,的非負整數解有多少。

# 解題思路

把他想成換零錢問題的方式解決:
現在你有 1、13、33、43、139、169、1309、2597,八種代幣,目標是想轉換成 I 元
試問有多少種組合法?

# 程式碼

#include <iostream>
using namespace std;
int price[8]={1,13,33,43,139,169,1309,2597};
int c[8001]={};
int n;
int main() {
    c[0]=1;
    for(int i=0;i<8;i++){
        for(int j=price[i];j<8001;j++)
            c[j] += c[j-price[i]];
    }
    while(cin>>n)
        cout<<c[n]<<endl;
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay