(PAT甲)1008 Elevator

這道題比較水,就是兩道if語句判斷當前樓層與到達樓層的關係即可,每層樓需要停留5秒的時間,特別注意的是當要求運行樓層軌跡完成時電梯不會返回0層,所以需要手動將到達樓層賦給當前樓層

#include<iostream>
using namespace std;
int main()
{
	int n, sum = 0, now = 0, to;
	cin >> n;
	for (int i = 0; i < n; ++i)
	{
		cin >> to;
		if (to > now)
		{
			sum += ((to - now) * 6);//到達樓層數大於當前樓層數,每上一層樓需要6秒
		}
		else
		{
			sum += ((now - to) * 4);//到達樓層數小於當前樓層數,每下一層樓需要4秒
		}
		sum += 5;//注意每層需要停留5秒
		now = to;//重點,將到達樓層數賦給當前樓層數以更新當前樓層狀態
	}
	cout << sum;
	return 0;
}

測試結果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章