酷代码 AI
菜单
服务商

C++ 实现:计算吊桥可放置木头数量与总宽度

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int woodCount = 0; int totalWidth = 0; for (int i = 0; i < n; ++i) { int length, width; cin >> length >> width; if (length >= 5 && totalWidth + width <= 10) { woodCount++; totalWidth += width; } } cout << woodCount << " " << totalWidth; return 0; } ``` 代码解释 1. 变量声明与输入: - `n` 用来存储木头的总数,通过 `cin >> n` 从标准输入读取该值。 - `woodCount` 用于记录最终能放到吊桥上的木头数量,初始化为 0。 - `totalWidth` 用于记录放到吊桥上木头的总宽度,初始化为 0。 2. 遍历每块木头: - 使用 `for` 循环遍历 `n` 块木头。 - 在每次循环中,使用 `cin >> length >> width` 读取当前木头的长度和宽度。 - 对于每块木头,检查其长度是否大于等于 5,并且将其宽度加入总宽度后是否不超过 10。如果满足这两个条件,则将该木头放置到吊桥上,即 `woodCount` 加 1,同时更新 `totalWidth`。 3. 输出结果: - 循环结束后,使用 `cout << woodCount << " " << totalWidth;` 输出最终放到吊桥上的木头数量和它们的总宽度,中间用空格分隔。 复杂度分析 - 时间复杂度:$O(n)$,其中 $n$ 是木头的数量,因为代码只需要对每块木头进行一次遍历。 - 空间复杂度:$O(1)$,只使用了常数级的额外变量,不随输入规模的变化而变化。 ######[AI问答 | 465点数解答 | 2025-11-15 19:43:26]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]