PAT甲级刷题实录——1008

2020-01-16

原题链接

https://pintia.cn/problem-sets/994805342720868352/problems/994805511923286016

思路

这题应该是到目前为止最简单的一道题,评测系统的通过率统计也达到了惊人的 0.59。

我们需要定义以下用于计算的变量: currentFloor :当前所在的楼层,初始值为 0; nextFloor :接下来要前往的楼层,数值通过读取输入来确定; totalTime :经过的总时间。因为这题思路实在太简单了,我也不用自然语言讲解了,直接把代码贴在下面,相信大家都看得懂:

代码

#include <iostream>
using namespace std;
int main()
{
	int requestSum;	//请求总数
	int currentFloor = 0;	//当前楼层
	int nextFloor;	//接下来要前往的楼层
	int totalTime = 0;	//总时长
	cin >> requestSum;
	for (int i = 0; i < requestSum; i++)
	{
		cin >> nextFloor;
		if (nextFloor > currentFloor)
		{
			totalTime += 6 * (nextFloor - currentFloor);
			currentFloor = nextFloor;
		}	
		else if (nextFloor < currentFloor)
		{
			totalTime += 4 * (currentFloor - nextFloor);
			currentFloor = nextFloor;
		}
		totalTime += 5;
	}
	cout << totalTime;
	return 0;
}