关注
第三题是二位花费的背包问题,每件物品要花费0和1各x和y个,总共有n个0和m个1,问每件物品最多取一次,最多可以取多少物品,递归公式为a[j][k]
=
max(a[j-thing[i].x][k-thing[i].y,a[j][k]),其中thing[i].x为第i件物品消耗多少个x,thing[i].y为第i件物品消耗1的个数。
我的代码:(100%通过)
#include
<iostream>
using
namespace
std
;
struct
thing {
int
x;
//
需要
0
的个数
int
y;
//
需要
1
的个数
thing(){
x
=
0
;
y
=
0
;
}
};
int
maxx(
int
x,
int
y)
{
if
(x<y)
return
y;
return
x;
}
int
main(
int
argc,
const
char
* argv[]) {
int
x,n,m;
cin
>>x>>n>>m;
string
s[
55
];
thing
th[
55
];
int
a[
555
][
555
];
for
(
int
i=
0
;i<x;i++)
cin
>>s[i];
for
(
int
i=
0
;i<x;i++)
for
(
int
j=
0
;j<s[i].
length
();j++)
{
if
(s[i][
j
] ==
'0'
)
th[i].
x
++;
else
if
(s[i][
j
] ==
'1'
)
th[i].
y
++;
}
for
(
int
i=
0
;i<=n;i++)
for
(
int
j=
0
; j<=m;j++)
a[i][j]=
0
;
//
边界
int
ans=
0
;
for
(
int
i=
1
;i<=x;i++)
for
(
int
j=n;j>=th[i-
1
].
x
;j--)
for
(
int
k=m;k>=th[i-
1
].
y
;k--)
{
a[j][k]=
maxx
(a[j][k],a[j-th[i-
1
].
x
][k-th[i-
1
].
y
]+
1
);
if
(a[j][k]>ans)
ans=a[j][k];
}
cout
<<ans<<
endl
;
return
0
;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
04-07 22:03
河南开封科技传媒学院 C++ 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... AI Agent 面试 Top50 必刷题3.1W
- 2... 看不懂组内文档,实习怎么偷产出?6210
- 3... 要对实习同事表白吗?5680
- 4... 解决了xd们,发了个dy曝光视频,十几万播放,直接让他火速联系我,赔我路费了,兄弟们碰到不公平的违法行为,一定要积极捍卫自己权益5151
- 5... 实习dirty work,怎么包装产出5140
- 6... 五月了,感觉实习很难找了4834
- 7... 逆天操作,也是让我遇到了3553
- 8... 妈妈只想要你快乐3425
- 9... 每日面试题-5月20日3210
- 10... 实习一个星期,我因为只加了20分钟班被开除了3100
正在热议
更多
# 26届春招投递记录 #
34497次浏览 276人参与
# 硬件人的简历怎么写 #
349489次浏览 3141人参与
# 27届实习投递记录 #
118048次浏览 1348人参与
# 你今年的平均薪资是多少? #
229507次浏览 1061人参与
# 如何成为1个AI工程师? #
5229次浏览 266人参与
# 要毕业了,再不说就来不及了 #
7634次浏览 135人参与
# 机械人的秋招小目标 #
32887次浏览 251人参与
# 你觉得机械有必要实习吗 #
88911次浏览 536人参与
# 提名点击就挂的公司 #
146523次浏览 494人参与
# 秋招想进国企该如何准备 #
150408次浏览 693人参与
# 我想象的实习vs现实的实习 #
340508次浏览 2310人参与
# 我与AI的日常 #
11141次浏览 215人参与
# AI面会问哪些问题? #
135682次浏览 3578人参与
# 大学四年该怎么过,才不算浪费时间? #
25919次浏览 111人参与
# 你在职场上见过哪些“水货”同事 #
41861次浏览 177人参与
# 24届秋招同行攻略分享 #
1525474次浏览 14461人参与
# 微派笔试 #
2675次浏览 23人参与
# 秋招开了,你想投哪些公司呢 #
1095619次浏览 11493人参与
# 如果公司降薪,你会跳槽吗? #
169045次浏览 973人参与
# 妈妈治愈了你哪些脆皮时刻 #
47738次浏览 366人参与
查看26道真题和解析