一开始电梯可以在不同的楼层,然后你必须坐电梯才能到达你的楼层。假设电梯从任何楼层到其相邻楼层(向上或向下)需要4秒钟,打开或关闭电梯门需要3秒钟,您需要5秒钟才能进入或离开电梯。给出您的位置和升降机的位置,您必须计算到达底层(0楼)的时间。 输入格式: 输入以整数T(≤25)开始,表示测试用例的数量。 每个案例包含两个整数。第一个整数表示您的位置(不是0),第二个整数表示电梯的位置,假设该部门有100层。 输出格式: 对于每种情况,以秒为单位打印测试用例编号和计算出的时间。 输入样例: 在这里给出一组输入。例如: 3 1 2 3 10 5 5 输出样例: 在这里给出相应的输出。例如: Case 1: 27 Case 2: 59 Case 3: 39
代码如下:如有帮助,请采纳一下,谢谢。
#include <cstdio>
#include <string>
#define T (int)25
int main()
{
char buf[4] = {0};
int data[T*2+1] = {0};//存储数据
printf("请输入例子数,楼层数和电梯数:");
scanf("%s",buf);
int nmb = atoi(buf);
int i = 0;
while(i < nmb*2)
{
memset(buf,0,4);
scanf("%s",buf);
data[i] = atoi(buf);
i++;
}
for (int j = 0; j < nmb ;j++)
{
int d = abs(data[2*j] - data[2*j+1]) * 4 + 19 + data[2*j] * 4; //19是两次开电梯+1次关电梯+2次进入
printf("Case%d:%d\n",j+1,d);
}
getchar();
getchar();
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y