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

歡迎光臨散文網(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ù)和(排序,二分查找,記憶化搜索)的評論 (共 條)

分享到微博請遵守國家法律
香格里拉县| 东乌| 浙江省| 中西区| 盖州市| 隆尧县| 正镶白旗| 阿巴嘎旗| 沂水县| 尚志市| 芜湖县| 腾冲县| 当雄县| 桓仁| 东源县| 新河县| 安庆市| 灵寿县| 集安市| 高安市| 杭锦后旗| 洛浦县| 弥渡县| 迭部县| 盈江县| 柏乡县| 那坡县| 驻马店市| 田阳县| 讷河市| 万年县| 舟曲县| 江都市| 那坡县| 凤冈县| 铜陵市| 澄迈县| 津市市| 含山县| 晋宁县| 金华市|