文章

5

粉丝

0

获赞

23

访问

659

头像
2048的游戏 题解:这是我在b站上学到动态规划后感觉可以一试
P1208
发布于2025年3月22日 15:15
阅读数 110

 

#include<bits/stdc++.h>
using namespace std;
int main(){
int t=0;
cin>>t;
int k=0;
for(k=0;k<t;k++){
int n=0;
cin>>n;
vector<int>a(n);
vector<int>dp(2049,0);
int l=0,r=0,sum=0,flag=0;
for(int j=0;j<n;j++){
    cin>>a[j];

}
sort(a.begin(),a.end());
for(int i=0;i<a.size();i++){
    for(int j=2048;j>=a[i];j--){
        dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
    }
}
//cout<<dp[2048]<<endl;
if(dp[2048]==2048)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}

}
 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发