#include <iostream>
#include <vector>
using namespace std;
bool check_all_denominations( vector< bool > P, int v, vector< int > x)
{
P[ 0 ] = true ;
for ( int i = 1 ; i <= x.size ( ) ; i++ )
{
P[ x[ i] ] = true ;
}
for ( int h = 0 ; h <= v; h++ )
{
bool result = false ;
for ( int j = 1 ; j <= x.size ( ) ; j++ )
{
if ( x[ j] <= h)
result = result || * P[ h- x[ j] ] ;
}
P[ h] = result;
}
cout << "P: ["
for ( int i = 0 ; i <= P.size ( ) ; i++ )
{
cout << P[ i] + " ," ;
}
cout << "]" ;
return P[ v] ;
}
int main( ) {
vector< int > ints;
ints.push_back ( 3 ) ;
ints.push_back ( 7 ) ;
vector< bool > test;
for ( int i = 0 ; i < 70 ; i++ )
{
test.push_back ( false ) ;
}
cout << check_all_denominations( test, 40 , ints ) ? "True" : "False" ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBjaGVja19hbGxfZGVub21pbmF0aW9ucyh2ZWN0b3I8Ym9vbD4gUCwgaW50IHYsIHZlY3RvcjxpbnQ+IHgpCnsKCVBbMF0gPSB0cnVlOwoJCglmb3IgKGludCBpID0gMTsgaSA8PSB4LnNpemUoKTsgaSsrKQoJewoJCVBbeFtpXV0gPSB0cnVlOwoJfQoJZm9yIChpbnQgaCA9IDA7IGggPD0gdjsgaCsrKQoJewoJCWJvb2wgcmVzdWx0ID0gZmFsc2U7CgkJZm9yIChpbnQgaiA9IDE7IGogPD0geC5zaXplKCk7IGorKykKCQl7CgkJCWlmICh4W2pdIDw9IGgpCgkJCQlyZXN1bHQgPSByZXN1bHQgfHwgKlBbaC14W2pdXTsKCQl9CgkJUFtoXSA9IHJlc3VsdDsKCX0KCWNvdXQgPDwgIlA6IFsiCglmb3IgKGludCBpID0gMDsgaSA8PSBQLnNpemUoKTsgaSsrKQoJewoJCWNvdXQgPDwgUFtpXSArICIgLCI7Cgl9Cgljb3V0IDw8ICJdIjsKCXJldHVybiBQW3ZdOwp9CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+IGludHM7CglpbnRzLnB1c2hfYmFjaygzKTsKCWludHMucHVzaF9iYWNrKDcpOwoJdmVjdG9yPGJvb2w+IHRlc3Q7CgkKCWZvciAoaW50IGkgPSAwOyBpIDwgNzA7IGkrKykKCXsKCQl0ZXN0LnB1c2hfYmFjayhmYWxzZSk7Cgl9Cgljb3V0IDw8IGNoZWNrX2FsbF9kZW5vbWluYXRpb25zKHRlc3QsIDQwLCBpbnRzICkgPyAiVHJ1ZSIgOiAiRmFsc2UiOwp9
compilation info
prog.cpp: In function 'bool check_all_denominations(std::vector<bool>, int, std::vector<int>)':
prog.cpp:19:24: error: no match for 'operator*' (operand type is 'std::vector<bool>::reference {aka std::_Bit_reference}')
result = result || *P[h-x[j]];
^
prog.cpp:24:2: error: expected ';' before 'for'
for (int i = 0; i <= P.size(); i++)
^
prog.cpp:24:18: error: 'i' was not declared in this scope
for (int i = 0; i <= P.size(); i++)
^
stdout