最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

挑戰(zhàn)程序設(shè)計競賽:抽簽-T數(shù)和(排序,二分查找,記憶化搜索)

2023-02-15 16:53 作者:信奧賽USACO鄭老師  | 我要投稿

//和書上答案不同,本解的n可以大一點,但m必須小。復(fù)雜度為O(n*m)。方法對幾個數(shù)字和是通用的。

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const int dim=4;

int k[1000];

int f[1000][1000][dim];

stack<int> si;

int solve(int n,int m,int dim,int level){

cout<<n<<" "<<m<<" "<<dim<<" "<<level<<endl;

level++;

if(f[n][m][dim]!=-1){

return f[n][m][dim];

}

if(n>=2 && m>=0 && dim>=0){

if(solve(n-1,m,dim,level)>=0){

f[n][m][dim]=1;

return 1;

}

}

if(n>=1 && m>=k[n] && dim>=1){

si.push(k[n]);

if(solve(n,m-k[n],dim-1,level)>=0){//放回口袋(數(shù)字可重用)

? ? ? ?//if(solve(n-1,m-k[n],dim-1,level)>=0){//不放回口袋(數(shù)字不可重用)

f[n][m][dim]=0;

return 0;

}

si.pop();

}

f[n][m][dim]=-2;

return -2;

}

int main(){

int n,m;

cin>>n>>m;

memset(f,-1,sizeof(f));

f[1][0][0]=0;

for(int i=1;i<=n;i++){

cin>>k[i];

}

if(solve(n,m,dim,0)>=0){

cout<<"Yes"<<endl;

}else{

cout<<"No"<<endl;

}

while(si.size()>0){

cout<<si.top()<<" ";

si.pop();

}

cout<<endl;

return 0;

}


挑戰(zhàn)程序設(shè)計競賽:抽簽-T數(shù)和(排序,二分查找,記憶化搜索)的評論 (共 條)

分享到微博請遵守國家法律
金坛市| 西城区| 栾城县| 南宁市| 龙江县| 盐津县| 浮梁县| 麻栗坡县| 游戏| 宁明县| 津南区| 滕州市| 新乐市| 富蕴县| 海安县| 霍山县| 西平县| 台州市| 鄱阳县| 平潭县| 瓦房店市| 菏泽市| 云梦县| 渝北区| 会东县| 攀枝花市| 河北区| 普安县| 乌苏市| 永宁县| 玉林市| 德兴市| 河东区| 洞口县| 灵石县| 越西县| 临城县| 长丰县| 涞源县| 河南省| 岳普湖县|