隨手記——獲取N位唯一數(不同排列123,321,213都算同一個)
阿新 • • 發佈:2019-02-21
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都算同一個)