1. 程式人生 > >隨手記——獲取N位唯一數(不同排列123,321,213都算同一個)

隨手記——獲取N位唯一數(不同排列123,321,213都算同一個)

main ras amp ret nbsp color esp urn end

暴力DFS,11跑起來就很吃力了。

#include <iostream>
#include <string>
using namespace std;

#define N 11
int res = 0;
void dfs(string help,int k,int cnt) {
    if (cnt == N) {
        res++;
        /*while (help[0] == ‘0‘&&help.length() > 1) {
            help.erase(help.begin());
        }
        cout << help<<endl;
*/ return; } if (k == 10)return; for (int i = 0; i <= N - cnt; i++ ) { dfs(help + string(i, k + 0), k + 1, cnt + i); } } int main() { dfs("",0,0); cout << res << endl; return 0; }

隨手記——獲取N位唯一數(不同排列123,321,213都算同一個)