Uva 674 ---- coin change

  1. // coin change
  2. #include <iostream>
  3. using namespace std;
  4. int main()
  5. {
  6. int iCoin[7490][5];
  7. int iMoney[5] = { 1510 , 2550 };
  8. int iAmount, i ,j, iMax;
  9. while ( cin >> iAmount )
  10.     {
  11.     iMax = -1; 
  12.     for ( i=0 ; i<=iAmount ; i++ ) 
  13.         iCoin[i][0] = 1;
  14.     for ( j=0 ; j<5 ; j++ )
  15.         iCoin[0][j] = 1;
  16.     for ( i=1 ; i<=iAmount ; i++ )     
  17.         for ( j=1 ; j<5 ; j++ )
  18.             {
  19.             if ( i-iMoney[j] >= 0 )
  20.                 iCoin[i][j] = ( iCoin[i][j-1] + iCoin[i-iMoney[j]][j] );   
  21.             else
  22.                 iCoin[i][j] = iCoin[i][j-1];   
  23.                
  24.             }
  25.     /*     
  26.     for ( i=0 ; i<iAmount ; i++ )      
  27.         {
  28.         for ( j=0 ; j<5 ; j++ )
  29.             cout << iCoin[i][j] << " ";
  30.         cout <<endl;
  31.         }
  32.     */
  33.     for ( j=0 ; j<5 ; j++)
  34.         if ( iCoin [iAmount][j] > iMax )
  35.             iMax = iCoin[iAmount][j];
  36.     cout << iMax <<endl;       
  37.     }
  38.    
  39.    
  40.    
  41. }

擷取自老師上課投影片




留言

這個網誌中的熱門文章

Codeforces --- string task

codeforces 271A --- beautiful year