4 条题解
-
2莫言 (slz莫言) LV 10 @ 2024-11-25 20:52:35
dfs深搜代码
#include <bits/stdc++.h> #define LL long long using namespace std; const int N = 1e5 + 10; const int INF = 0x3f3f3f3f; int n , k; bool flag , v [N]; int a [N]; void dfs (int last , int sum) { if (sum == 0) { cout << "Yes"; flag = 1; exit (0); return; } if (a [last] > sum) return; for (int i = last; i <= n; i++) { dfs (i + 1 , sum - a [i]); } } int main() { cin >> n >> k; for (int i = 1; i <= n; i++) cin >> a [i]; sort (a + 1 , a + n + 1); dfs (1 , k); if (! flag) cout << "No"; return 0; }
-
12024-12-1 19:42:11@
#include<bits/stdc++.h> using namespace std; int k , a[10005] , n, flag; bool v[10005]; void dfs(int sum , int last){ if(sum == 0) { flag = 1; return; } for(int i = last + 1;i <= n;i++) dfs(sum - a[i],i); } int main(){ cin >> n >> k; for(int i = 1;i <= n;i++) cin >> a[i]; dfs(k , 0); if(flag){ cout << "Yes"; } else { cout << "No"; } return 0; }
-
12024-12-1 18:31:22@
using namespace std; int n,k; bool flag; int a[10005]; bool v[10005]; void dfs(int sum,int last) { if(sum==0){ flag=1; return ; } for(int i=last+1;i<=n;i++) { dfs(sum-a[i],i); } } int main(){ cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } dfs(k,0); if(flag){ cout<<"Yes"; } else{ cout<<"No"; } return 0; }
-
02023-12-7 19:28:21@
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <stack> #include <queue> #include <map> #include <cstring> #include <iomanip> const int N = 1e8+10; const int INF = 0x3f3f3f3f; using namespace std; int n,k,a[N]; bool flag=0; int main() { cin>>n>>k; for(int i=0;i<n;i++) { cin>>a[i]; } for(int i=0;i<=(1<<n);i++) { int sum=0; for(int j=0;j<n;j++) { if(i>>j&1) { sum+=a[j]; } } if(sum==k) { cout<<"Yes"<<endl; flag=1; break; } } if(flag==0) { cout<<"No"; } return 0; }
- 1
信息
- ID
- 2551
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 433
- 已通过
- 74
- 上传者