【华为OD】2024年C、D卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript
【华为OD】2024年C、D卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript-CSDN博客
JS、python、Java、C、C++代码实现:
【华为OD】D卷真题200分:会议接待 JavaScript代码实现[思路+代码]-CSDN博客
【华为OD】D卷真题200分:会议接待 python代码实现[思路+代码]-CSDN博客
【华为OD】D卷真题200分:会议接待 Java代码实现[思路+代码]-CSDN博客
【华为OD】D卷真题200分:会议接待 C语言代码实现[思路+代码]-CSDN博客
【华为OD】D卷真题200分:会议接待 C++代码实现[思路+代码]-CSDN博客
题目描述:
某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。
约束:
1、一个团只能上一辆车,并且代表团人数(代表团数量小于30,每个代表团人数小于30)小于汽车容量(汽车容量小于100)
2、需要将车辆坐满
输入描述
第一行 代表团人数,英文逗号隔开,代表团数量小于30,每个代表团人数小于30
第二行 汽车载客量 ,汽车容量小于100
输出描述
坐满汽车的方案数量
如果无解输出0
示例1
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
5,4,2,3,2,4,9
10
输出
4
说明
解释 以下几种方式都可以坐满车,所以,优先接待输出为4
[2, 3, 5]
[2, 4, 4]
[2, 3, 5]
[2, 4, 4]
备注
各代表团人数5,4,2,3,2,4,9
汽车载客量 10
输出 4
解释 以下几种方式都可以坐满车,所以,优先接待输出为4
[2, 3, 5]
[2, 4, 4]
[2, 3, 5]
[2, 4, 4]
7878688
+---+
3 | | ++ + +---|
| | | 3 + 6 + | + | +
| + | | + + + | + | +
| + | +---+ + + +++++ + + + | +
| + | + | + +----+ | | + + + | +
| + 3 | + | + + + 2 | | 2 + + + | +
| + | + | + + + | | + + + | +
| +---+ + | | | + ----+ | +---+ | | + | +
| | + | | | + | | | | | | + | +
| 1 | + | 8 | | + 1 | | | 1 | | 1 | | + | +
| | + | | | + | | | | | | | + | +
| +---+ + +---+ | ++---+ ++ +---+ +---+ | + | +
| | + | | | ++ | | |+ | +
|0 | + | 0 | 0 | ++ | 0 | |+ | +
| | + | | | ++ | | |+ | +
+---+ + +-------+ +---+| +|+ | +
+ + | +
0 1 2 3 4 5 6 7 8 9 10 11 12 + v: w u m u 1 0 2 4
题目解析:
使用递归来实现即可
代码实现:
let cnt = 0;
const main = async () => {
const input = async () => (await iter.next()).value;
const nums = (await input()).split(',').map(Number);
const target = Number(await input());
if (target == 0) {
console.log(0);
return;
}
getCnt(nums, 0, 0, target);
console.log(cnt);
rl.close();
};
const getCnt = (nums, pos, sum, target) => {
if (pos != nums.length) {
getCnt(nums, pos + 1, sum, target);
let tmp = sum + nums[pos];
if (tmp == target) {
cnt++;
return;
} else if (tmp < target) {
getCnt(nums, pos + 1, tmp, target);
}
}
};
const { createInterface } = require("readline");
const rl = createInterface({ input: process.stdin });
const iter = rl[Symbol.asyncIterator]();
main();
标签:200,OD,const,target,真题,代码,JavaScript,+---+
From: https://blog.csdn.net/mars1199/article/details/139426458