1268 和為k的組合
基準時間限制:1 秒 空間限制:131072 kb 分值: 20 難度:3級演算法題
給出n個正整數組成的陣列a,求能否從中選出若干個,使他們的和為k。如果可以,輸出:"yes",否則輸出"no"。
input
第1行:2個數n, k, n為陣列的長度, k為需要判斷的和(2 <= n <= 20,1 <= k <= 10^9)output第2 - n + 1行:每行1個數,對應陣列的元素a[i] (1 <= a[i] <= 10^6)
如果可以,輸出:"yes",否則輸出"no"。input示例
5 1324output示例6810
no看到的第一眼就以為是二分,然後搞二分,發現搞不出來,然後就用深搜....
#include#include#include#define maxn 25
#define ll long long
using namespace std;
ll a[25];
ll b[25];
ll n,m,flag=0;
void dfs(int now,int sum)
if(m>n>>m;
for(ll i=0;i>a[i];
sum+=a[i];
}if(sum在網上找的揹包也可以...試一試
#include#include#include#define maxn 25
#define ll long long
using namespace std;
ll a[maxn];
ll b[maxn];
ll n,m,flag=0;
ll dp[maxn][maxn];
int main()
/*for(int i=0;i<=n;i++)
dp[i][0]=1;*/
for(int i=1;i<=n;i++)
}if(dp[n][m]==0) cout<
else cout<
return 0;
}
51nod 1268 和為k的組合
1268 和為k的組合 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 給出n個正整數組成的陣列a,求能否從中選出若干個,使他們的和為k。如果可以,輸出 yes 否則輸出 no input 第1行 2個數n,k,n為陣列的長度,k為需要判斷的和 2 n 20,1 ...
51nod 1268 和為k的組合
基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 收藏 關注 給出n個正整數組成的陣列a,求能否從中選出若干個,使他們的和為k。如果可以,輸出 yes 否則輸出 no input 第1行 2個數n,k,n為陣列的長度,k為需要判斷的和 2 n 20,1 k 10 9...
51nod 1268 和為K的組合
1268 和為k的組合 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 給出n個正整數組成的陣列a,求能否從中選出若干個,使他們的和為k。如果可以,輸出 yes 否則輸出 no input 第1行 2個數n,k,n為陣列的長度,k為需要判斷的和 2 n 20,1 ...