fork download
  1. #include <algorithm>
  2. #include <numeric>
  3. #include <iostream>
  4. #include <vector>
  5.  
  6. bool stringsRearrangement(std::vector<std::string> v) {
  7. sort(v.begin(), v.end());
  8. int i,j,count=0;
  9. do {
  10. for(i=0;i<v.size()-1;i++) {
  11. count=0;
  12. for(j=0;j<v[0].size();j++)
  13. if(v[i][j]!=v[i+1][j]) {
  14. count++;
  15. if(count==2)
  16. break;
  17. }
  18. if(count!=1)
  19. break;
  20.  
  21. }
  22. if(i==v.size()-1 && j==v[0].size() && count==1)
  23. return true;
  24.  
  25. } while(next_permutation(v.begin(),v.end()));
  26.  
  27. return false;
  28. }
  29.  
  30. int main(int, char*[])
  31. {
  32. std::cout << stringsRearrangement({"aba", "bbb", "bab"}) << std::endl; // false
  33. std::cout << stringsRearrangement({"a", "b", "c"}) << std::endl; // true
  34. std::cout << stringsRearrangement({"a", "b", "c"}) << std::endl; // true
  35. }
  36.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
0
1
1