9 条题解

  • 1
    @ 2026-2-12 9:44:36

    #include<bits/stdc++.h> using namespace std; int main() { int n,a[1000],k; 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&(1<<j)) { sum+=a[j]; } } if(sum==k) { cout<<"Yes"; return 0; } } cout<<"No"; return 0; }

    • 1
      @ 2026-1-30 16:43:58

      包AC

      #include<bits/stdc++.h>
      using namespace std;
      const int N=1e4+10;
      int n,k,a[N];
      bool ok=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;
      			ok=1;
      			break;
      		}
      	}
      	if(ok==0){
      		cout<<"No";
      	}
      }
      
      • 0
        @ 2026-2-12 9:47:06

        #include<bits/stdc++.h> using namespace std; int main(){ int n,a[1000],k; 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&(1<<j)){ sum+=a[j]; } } if(sum==k){ cout<<"Yes"; return 0; } } cout<<"No"; } ********

        • 0
          @ 2026-2-12 9:46:29

          #include<bits/stdc++.h> using namespace std; int main(){ int n,a[1000],k; 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&(1<<j)){ sum+=a[j]; } } if(sum==k){ cout<<"Yes"; return 0; } } cout<<"No"; }

          • 0
            @ 2024-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;
            }
            
            • 0
              @ 2024-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;
              }
              
              • 0
                @ 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;
                }
                
                • 0
                  @ 2023-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
                    @ 2026-2-12 9:45:48

                    #include<bits/stdc++.h> using namespace std; int main() { int n,a[1000],k; 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&(1<<j)) { sum+=a[j]; } } if(sum==k) { cout<<"Yes"; return 0; } } cout<<"No"; return 0; }************

                    • 1

                    信息

                    ID
                    2551
                    时间
                    1000ms
                    内存
                    256MiB
                    难度
                    7
                    标签
                    递交数
                    551
                    已通过
                    112
                    上传者