1008. Elevator (20) 解题和记录

本文提供了一道简单的PAT-A-1008楼层计算题的解答思路与代码实现。该题需要计算楼层变化带来的总费用,采用O(N)的算法复杂度进行处理,特别提醒注意相同楼层连续出现的情况。

https://www.patest.cn/contests/pat-a-practise/1008

水题,题目很简单,思路直接照着描述的计算就行,边输入边计算,算法复杂度O(N)

坑点:注意同样的楼层可能连续出现多次,不能当做一个楼层处理。

代码如下:

#include <iostream>
#include <string>
#include <sstream>


using namespace std;

int main(void)
{
	string line;
	while(getline(cin, line))
	{
		int num, sum = 0, n, b = 0;
		stringstream ss(line);
		ss >> num;
		for(int i = 0; i < num; i++)
		{
			n = b;
			ss >> b;
			//if(n != b)
			sum  += n - b < 0 ? (n - b) * -6 + 5 : 4 * (n - b) + 5;

		}
		cout << sum << endl;
	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值