刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

充电器

小蓝有一个充电器,可以使用不同的电压和电流充电。

给定充电器工作的记录,请计算在这个记录期间总共通过充电传输了多少电能。

输入格式

输入第一行包含一个整数n,表示记录的条数。

接下来n行,每行包含一个时刻T和两个非负整数U,I,表示在时刻T充电电压变为U(单位伏),电流变为I(单位A)。最后一行满足U和l均为0,在前面的行中也可能出现U、I为0的情况。其中时间表示为HH:MM:SS的格式,时分秒分别用两位十进制数表示(补前导零)。

输入保证时刻依次递增且在00:00:00至23:59:59的区间内,不用考虑跨过零点充电的情况。

输出格式

输出一个整数,表示总共通电的电能为多少焦耳,其中1焦耳等于1伏乘以1安乘以1秒。


样例输入

3
12:00:00 12 1
12:01:02 5 2
12:01:10 0 0

样例输出

824

评测用例规模与约定

对于所有评测用例,1<=n<=100,0<=U,I<=100

使用微信搜索喵呜刷题,轻松应对考试!

答案:

```#include #include #include using namespace std;int main() int n;cin >> n;long long energy = 0;long long last_time = 0;for (int i = 0; i < n; i++) {string time_str;int U, I;cin >> time_str >> U >> I;long long time = get_time(time_str);if (U == 0 && I == 0) {break;}if (last_time != 0) {energy += (time - last_time) * U * I;}last_time = time;}cout << energy << endl;return 0;long long get_time(string time_str) int h, m, s;s = stoi(time_str.substr(8, 2));m = stoi(time_str.substr(5, 2));h = stoi(time_str.substr(0, 2));return h * 3600 + m * 60 + s;```

解析:

【喵呜刷题小喵解析】:

本题要求计算充电器在给定记录期间总共传输的电能。输入包含n条记录,每条记录包含时刻T和两个非负整数U和I,表示在时刻T充电电压变为U,电流变为I。最后一行满足U和I均为0,表示充电结束。

首先,我们需要将时间字符串转换为时间戳,以便计算时间差。时间字符串的格式为HH:MM:SS,其中时分秒分别用两位十进制数表示。我们可以将时间字符串拆分为小时、分钟和秒,然后将其转换为总秒数。

接下来,我们遍历每条记录,计算相邻记录之间的时间差,并计算该时间差内传输的电能。如果相邻记录之间的时间差不为0,则计算电能 = 时间差 * U * I。

最后,将每条记录的电能累加起来,即可得到总共传输的电能。注意,在计算电能时,我们需要考虑相邻记录之间的时间差,如果相邻记录之间的时间差为0,则不计算电能。

在输出时,需要将电能转换为焦耳单位,即电能 = 电压 * 电流 * 时间。在本题中,1焦耳等于1伏乘以1安乘以1秒。

以上是喵呜AI给出的答案和解析,仅供参考。如有不足或错误之处,欢迎指正。
创作类型:
原创

本文链接:充电器 小蓝有一个充电器,可以使用不同的电压和电流充电。 给定充电器工作的记录,请计算在这个记录期间

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share