//判斷第i位要不要,現在總數是sum
if(sum==k && i<=n)
//等於n是因為帶有了最後乙個數
} cout << endl;}
sum +
= a[i]
; ex[i]
= a[i]
;//放進去
//test
/* cout << "\n ---- " << sum<< " ";
for(int j=0; jdfs
(a,ex,i+
1,n,sum,k)
;
sum -
= a[i]
;//回溯
ex[i]=0
;//test
/* cout << "\n ---- " << sum<< " ";
for(int j=0; jdfs
(a,ex,i+
1,n,sum,k)
;//不要這個,繼續看下乙個
}int
main()
cin >> k;
int ex[n]
;memset
( ex,0,
sizeof
(ex));
//初始化0表示都不要
dfs(a,ex,
0,n,
0,k)
;return0;
}
部分和問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次...
部分和問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次...
部分和問題
給定n 個整數ai 求是否可選出若干個數,使它們的和恰好為k n 20 example 1 n 4 a k 13 include include using namespace std intn,k,a 22 suit 22 num 0 stack int p bool dfs inti,intsu...