0301 遞迴實現指數型列舉

2021-09-24 04:10:18 字數 711 閱讀 7498

本題可以用乙個遞迴思路解決。每乙個數都有放或者不放兩種狀態。

其實本題還可以用乙個思路解決。一定有2^n種排列方案。所以可以通過位列舉來列舉出所有的可能排列。

#include"stdio.h"

#include"string.h"

#include"math.h"

#include"vector"

#include"algorithm"

using namespace std;

/*int n;

int num[20];

int hah[1 << 21];

int lowbit(int x)

int check(int x)

return hah[x];

}int main()

else

printf(" %d",num[pos]);

j = j & (~(1 << (pos - 1)));

}printf("\n");

}printf("\n");

}*/vectorq;

int n;

void dfs(int x)

dfs(x + 1);

q.push_back(x);

dfs(x + 1);

q.pop_back();

}int main()

CH 0301遞迴實現指數型列舉

描述 從 1 n 這 n n 16 個整數中隨機選取任意多個,輸出所有可能的選擇方案。輸入格式 乙個整數n。輸出格式 每行一種方案。同一行內的數必須公升序排列,相鄰兩個數用恰好1個空格隔開。對於沒有選任何數的方案,輸出空行。本題有自定義校驗器 spj 各行 不同方案 之間的順序任意。樣例輸入3樣例輸...

遞迴實現指數型列舉

從 1 n 這 n 個整數中隨機選取任意多個,輸出所有可能的選擇方案。輸入格式 輸入乙個整數 n。輸出格式 每行輸出一種方案。同一行內的數必須公升序排列,相鄰兩個數用恰好1個空格隔開。對於沒有選任何數的方案,輸出空行。本題有自定義校驗器 spj 各行 不同方案 之間的順序任意。資料範圍1 n 15 ...

遞迴實現指數型列舉

從 1 n 這 n 個整數中隨機選取任意多個,輸出所有可能的選擇方案。輸入乙個整數n。每行輸出一種方案。同一行內的數必須公升序排列,相鄰兩個數用恰好1個空格隔開。對於沒有選任何數的方案,輸出空行。本題有自定義校驗器 spj 各行 不同方案 之間的順序任意。1 n 15 1 n 15 1 n 15 3...