HDU 1008 Elevator(最简代码)

来源:互联网 发布:mac桌面排序 编辑:程序博客网 时间:2024/06/05 10:32

每个数据之间的连续处理一般不需要数组,没那个必要。第一次多读取一个值,然后依次往后处理即可


n个数据就要停n层,初始为sum = n * 5 + 6 * m;此时已在第一个数据的楼层,两个楼层差值为负加楼层之差乘4,否则乘6,每次将楼层置为当前楼层,依次与后面的进行处理

#include<stdio.h>int main(void){int n, m, sum, k;while (scanf("%d", &n) != EOF && n) {scanf ("%d", &m);sum = n * 5 + 6 * m;for (int i = 1; i < n; i++) {scanf("%d", &k);sum += (m-k)>0?(m-k)*4:(k-m)*6;m = k;}printf("%d\n", sum);}return 0;}