当前位置:实例文章 » 其他实例» [文章]《算法竞赛·快冲300题》每日一题:“窗户”

《算法竞赛·快冲300题》每日一题:“窗户”

发布人:shili8 发布时间:2024-11-19 14:31 阅读次数:0

**《算法竞赛·快冲300题》每日一题**

**题目名称:** "窗户"

**难度等级:** 中等**问题描述:**

有一个长方形的房间,房间内有多个窗户,每个窗户都有一个高度和宽度。现在,我们需要计算出所有窗户的面积之和。

**输入格式:**

* int n (表示窗户数量)
* int w[n] (表示每个窗户的宽度)
* int h[n] (表示每个窗户的高度)

**输出格式:**

* long long ans (表示所有窗户面积之和)

**示例输入:**

5342167891011


**示例输出:**

145


**代码实现:**

cpp#include <iostream>
using namespace std;

int main() {
 int n;
 cin >> n;
 long long ans =0; // 使用long long类型来避免溢出 for (int i =0; i < n; i++) {
 int w, h;
 cin >> w >> h;
 // 计算每个窗户的面积并添加到总和中 ans += static_cast<long long>(w) * h;
 }
 cout << ans << endl;
 return0;
}


**代码注释:**

* 我们使用了`long long`类型来存储总面积,以避免溢出。
* 在循环中,我们分别读入窗户的宽度和高度,并计算每个窗户的面积。
* 每个窗户的面积被添加到总和中,最后输出结果。

**时间复杂度:**

* 时间复杂度为 O(n),其中 n 是窗户数量。我们需要对所有窗户进行迭代来计算总面积。

**空间复杂度:**

* 空间复杂度为 O(1),因为我们只使用了常数个变量来存储窗户的宽度和高度,以及总面积。

以上就是本题的解决方案。

相关标签:算法
其他信息

其他资源

Top