fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. string zagrade;
  8.  
  9. void generisi_zagrade(int n, int duzina, int otvorena, int zatvorena, string kombinacija)
  10. {
  11. if (zagrade[duzina] != '.' and zagrade[duzina] != kombinacija[duzina])
  12. return;
  13. if (otvorena == n and zatvorena == n)
  14. {
  15. cout << kombinacija << "\n";
  16. return;
  17. }
  18. if (otvorena < n)
  19. generisi_zagrade(n, duzina + 1, otvorena + 1, zatvorena, kombinacija + "(");
  20. if (zatvorena < otvorena)
  21. generisi_zagrade(n, duzina + 1, otvorena, zatvorena + 1, kombinacija + ")");
  22. }
  23.  
  24. int main()
  25. {
  26. ios_base::sync_with_stdio(false);
  27. cin >> zagrade;
  28. int n = zagrade.length();
  29. generisi_zagrade(n / 2, 0, 1, 0, "(");
  30. return 0;
  31. }
Success #stdin #stdout 0s 5320KB
stdin
..(..)
stdout
((()))
()(())
()()()