Advertisement
Guest User

problem

a guest
Dec 20th, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. typedef vector<int>     VI;
  7. typedef vector<string>  VS;
  8. typedef vector<VI>  MI;
  9.  
  10.  void escriuv(VI& v, VS& p, int subsets){
  11.   bool first = true;
  12.   for(int s = 0; s < subsets; ++s){
  13.     first = true;
  14.       cout << "subconjunt " << s+1 << ": {";
  15.       for(int i = 0; i < v.size(); ++i){
  16.     if(v[i] ==  s){
  17.       if(first) {
  18.         cout << p[i];
  19.         first = false;
  20.       }
  21.       else cout << "," << p[i];
  22.     }
  23.       }
  24.       cout << "}" << endl;
  25.   }
  26.   cout << endl;  
  27. }
  28.  
  29.  
  30. void combinations(VI& variables, int num_words, int subsets, int word_act, VS& paraules){
  31.   if(word_act >= num_words) {
  32.     escriuv(variables, paraules, subsets);
  33.     return;
  34.   }
  35.   for(int i = 0; i < subsets; ++i){
  36.     variables[word_act] = i;
  37.     combinations(variables, num_words, subsets, word_act+1, paraules);
  38.   }
  39. }
  40.  
  41. int main() {
  42.  
  43.   int words;
  44.   cin >> words;
  45.   VS paraules(words);
  46.   for(int i = 0; i < words; ++i)
  47.     cin >> paraules[i];
  48.   int subsets;
  49.   cin >> subsets;
  50.   VI variables(words);
  51.   combinations(variables, words, subsets, 0, paraules);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement