Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- #include<vector>
- #include<set>
- #include<algorithm>
- using namespace std;
- typedef long long ll;
- //set<string> univ;
- bool swappable(string str, ll i, ll j)
- {
- for (int k = i; k < j; k++)
- if (str[k] == str[j])
- return false;
- return true;
- }
- void permute(string str, ll i)
- {
- //base case;
- if (i >= str.length())
- {
- cout<<str<<endl;
- return;
- }
- for (ll j = i; j != str.length(); j++)
- {
- if (swappable(str, i, j))
- {
- swap(str[i], str[j]);
- permute(str, i + 1);
- swap(str[i], str[j]);
- }
- }
- }
- int main()
- {
- string str;
- cin >> str;
- sort(str.begin(), str.end());
- permute(str, 0);
- // for (string ste : univ)
- // {
- // cout << ste << endl;
- // }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement