3221225477(内存泄漏?)
  • 板块灌水区
  • 楼主cccccccsngbydmr
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/14 18:55
  • 上次更新2024/8/14 18:55:54
查看原帖
3221225477(内存泄漏?)
1065089
cccccccsngbydmr楼主2024/8/14 18:55
#include <bits/stdc++.h>
using namespace std;
void permuteUnique(string s, int start, vector<string>& result) {
    if (start == s.length()) {
        result.push_back(s);
        return;
    }
    vector<int> last(10, -1);
    for (int i = start; i < s.length(); ++i) {
        if (i > start && s[i] == s[i - 1] && last[s[i] - '0'] == i - 1)
            continue;
        swap(s[i], s[start]);
        last[s[start] - '0'] = i;
        permuteUnique(s, start + 1, result);
        swap(s[i], s[start]);
    }
}

int main() {
    string s;
    cin >> s;
    sort(s.begin(), s.end());
    vector<string> result;
    permuteUnique(s, 0, result);
    sort(result.begin(),result.end());
    set<string>ans;
	for(int i=0;i<=result.size();i++)
	{
		ans.insert(result[i]);
	}
    for (const auto& perm : ans) {
        cout << perm << endl;
    }

    return 0;
}
2024/8/14 18:55
加载中...