1.現有乙個有n個元素的序列a=[a1,a2,⋯,an],定義這個序列的價值為
異或和: 位運算的一種。如果a、b兩個值不相同,則異或結果為1;如果a、b兩個值相同,異或結果為0。
輸入輸出格式
輸入第一行乙個整數
n接下來一行有n個非負整數表示
a1,a2,⋯ ,an
輸出乙個整數表示所有子集的異或和
樣例1輸入
21 2輸出6
資料規模
1≤n≤20
1≤a≤10^5
提示樣例1中共有四個子集
,[1],[2],[1,2],
他們的價值分別為0,1,2,5,其異或和
0⨁1⨁2⨁5=6
解釋一下異或和:
首先第乙個子集價值是0,0和其它3個子集價值異或後得1,加起來就是3,然後1和其它2個子集異或後結果也是1,加起來得2,最後2和5異或得1,故異或和0⨁1⨁2⨁5=6
#include
//n<=20
using
namespace std;
int b[
100]
;//定義乙個陣列,用來儲存子集價值
int value=0;
bool list[20]
;template
<
class
t>
intsubset
(t *array,
int m,
int n)
//n代表元素個數
if(m==n)
}for
(int k=
0;k) sum+
=b[k]
*(k+1)
;//子集價值
value^
=sum;
//求異或和
}return value;
}int
main()
cout<<
subset
(a,0
,n)<
return0;
}
《資料結構》 實驗1 1
資料結構 實驗一 vc程式設計工具的靈活使用 一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。二 實驗內容 1.設計乙個單檔案結構程式完成從鍵盤...
《資料結構》 實驗1 1
資料結構 實驗一 vc程式設計工具的靈活使用 一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。二 實驗內容 1.設計乙個單檔案結構程式完成從鍵盤...
資料結構 實驗報告11
目的 熟悉後序線索二叉樹並實現後序遍歷 要求 1 建立二叉樹。2 轉換為後序線索二叉樹。3 實現後序遍歷的非遞迴演算法。編譯器 vscode devc 系統 windows10 cpu i5 8265u 1.60ghz 1 建立二叉樹。2 轉換為後序線索二叉樹。3 實現後序遍歷的非遞迴演算法。1.建...