CSES - Eri kolikot

Annettuna on n kolikkoa ja summa x. Laske, monellako eri tavalla summa voidaan muodostaa kolikoista.

Tässä tehtävässä kaksi tapaa ovat erilaiset, jos järjestetyt listat ovat erilaisia. Esimerkiksi [1,4] ja [2,3] ovat eri tavat, mutta [1,4] ja [4,1] eivät ole.

Voit olettaa, että 1 \le n \le 10 ja 1 \le x \le 100. Algoritmisi tulee toimia tehokkaasti kaikissa tapauksissa.

Toteuta tiedostoon diffcoin.py funktio count, joka palauttaa tehtävän vastauksen.

def count(x, coins):
    # TODO

if __name__ == "__main__":
    print(count(5, [1])) # 1
    print(count(5, [1, 2])) # 3
    print(count(13, [1, 2, 5])) # 14
    print(count(42, [1, 5, 6, 17])) # 58
    print(count(99, [2, 4, 6])) # 0