C语言经典算法题:计算救生船救援时间

题目描述

一艘救生船从大本营出发,需要营救若干屋顶上的人并送回大本营。你的任务是根据屋顶数量、每个屋顶的坐标以及上面的人数,计算出救生船完成所有救援任务所需的总时间。

问题分析:

这个问题可以分解成以下几个步骤:

  1. 计算救生船从大本营到每个屋顶的距离。2. 计算救生船在每个屋顶停留的时间(救援所有人的时间)。3. 计算救生船从每个屋顶返回大本营的时间。4. 计算所有人下船的时间。5. 将以上所有时间加起来,得到总时间。

输入格式

第一行输入一个整数 n,表示屋顶的数量。

接下来的 n 行,每行包含三个数:

  • 两个实数 x 和 y,表示屋顶相对于大本营的平面坐标位置(单位:米)。* 一个整数 p,表示该屋顶上的人数。

输出格式

输出一行,包含一个整数,表示救援所需的总时间(分钟,向上取整)。

样例

输入样例:

130 40 3

输出样例:

7

C语言代码实现c#include <stdio.h>#include <math.h>

int main() { int n; scanf('%d', &n); double time = 0; double x, y; int people; for (int i = 0; i < n; i++) { scanf('%lf %lf %d', &x, &y, &people); // 计算距离 double distance = sqrt(x * x + y * y); // 加上前往屋顶的时间 time += distance / 50; // 加上救援时间 time += people; // 加上返回大本营的时间 time += distance / 50; // 加上下船时间 time += people * 0.5; } // 向上取整并输出总时间 printf('%d ', (int)ceil(time)); return 0;}

代码解释:

  1. 代码首先读取屋顶数量 n。2. 使用循环遍历每个屋顶,读取其坐标 xy 和人数 people。3. 计算救生船到该屋顶的距离 distance。4. 计算前往屋顶、救援、返回大本营和下船所需的时间,并累加到总时间 time 中。5. 最后,将总时间 time 向上取整后输出。

希望本文能够帮助你理解如何使用C语言解决救生船救援时间计算问题。

C语言经典算法题:计算救生船救援时间

原文地址: https://www.cveoy.top/t/topic/b1ql 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录