Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Soma de conjunto
- int n, v[20], m;
- cin >> n >> m;
- for(int i = 0; i < n; ++i) cin >> v[i]; //leitura, O(n)
- for(int mask = 0; mask < (1 << n); ++mask){ //passa por todos os subconjuntos
- int soma = 0;
- for(int i = 0; i < n; ++i)
- if((1 << i)&mask) //checa se um elemento esta nesse subconjunto
- soma += v[i];
- if(m == soma){
- for(int i = 0; i < n; ++i)
- if((1 << i)&mask)
- cout << i << " ";
- cout << "\n";
- break;
- }
- }
Add Comment
Please, Sign In to add comment