単純にタイトルの下:
N使用される任意の最小コインによる組成物の所定量を求め、1.5.10.25.50それぞれ、コインを与え
タイトルのアイデアを実行します。
すべての金額(この量は、対象の制限されることに注意してください)を、埋めた後、徐々に使用コインの数を更新するために、コインの量を増加させる最小のコインとの最初の
コード:
#include <ビット/ STDC ++。H> 使用して 名前空間はstdを、 INTマネー[ 5 ] = { 1、5、10、25、50 }; INT DP [ 300 ]; // それぞれの量に相当するコインの最小数を見つけます。 ボイド{)(解く ため(INT iは= 0 ; I < 251 ; I ++ ) [I] DP = INT_MAX。 DP [ 0 ] = 0 ; 以下のために(INT iが= 0 ; I < 5 ; I ++ ){ ため(INT J =お金を[I]; J < 251 ; J ++ ){ DP [J] =分(DP [J]、DP [Jマネー[I] + 1 )。 } } } int型のmain() { int型のn; 解決する(); 一方、(CIN >> N){ COUT << DP [N] << ENDL。 } リターン 0 ; }