michael_hartman_cz

PA1 - úkol 7.2 (Větrné elektrárny, bez bonusu)

Mar 28th, 2013
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector> // sorry kittens.. earl.hustej.net/files/Every_time_you_PJC.jpg
  3. #include <cstdio>
  4. using namespace std;
  5.  
  6. unsigned int countPrice( vector<unsigned int> v, unsigned int i, unsigned int j )
  7.  {    
  8.     if ( i == j )
  9.         return 0;
  10.     unsigned int price, candidate = -1;  
  11.     for ( unsigned int k = i; k < j; k++ )
  12.      {
  13.         price = countPrice(v, i, k) + countPrice( v, k + 1, j ) + v.at( i - 1 )*v.at( j ) + v.at( k );
  14.         candidate = candidate < price ? candidate : price;
  15.      }
  16.     return candidate;
  17.  }
  18.  
  19. int main ( int argc, char * argv[] )
  20.  {
  21.     cout << "Zadejte pocty sroubu pro jednotlive priruby:" << endl;
  22.     vector<unsigned int> srouby;
  23.     try
  24.      {
  25.         int input;
  26.         char c;
  27.         do
  28.          {
  29.             if ( scanf ( "%d%c", &input, &c ) != 2 || input < 1 )
  30.                 throw 2;
  31.             srouby.push_back( input );              
  32.          } while ( c != '\n' );
  33.    
  34.         if ( srouby.size() < 2 )
  35.             throw 1;
  36.      }
  37.     catch ( int e )
  38.      {
  39.         cout << "Nespravny vstup." << endl;
  40.         return e;
  41.      }
  42.     cout << "Cena: " << countPrice ( srouby, 1, srouby.size() - 1 ) << endl;   
  43.     return 0;  
  44.  }
Advertisement
Add Comment
Please, Sign In to add comment