码迷,mamicode.com
首页 > 其他好文 > 详细

HDU1008 Elevator

时间:2016-07-13 16:43:00      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

问题链接:HDU1008 Elevator基础训练题,用C语言编写程序。

每行的数据有n+1个数据,第一个数据是n,然后是n个数据,即n个要停的层的数据。

电梯开始在0层,上一层需要6秒,下一层需要4秒,停一次需要5秒。电梯最后不需要回到0层。

问题是把所有人都送到各层总共需要多少时间。

AC程序如下:

/* HDU1008 Elevator */

#include <stdio.h>
//#include <stdlib.h>

#define MAXN 100

int main(void)
{
    int n, stop[MAXN+1], count, i;
    int currposit;

    while(scanf("%d", &n) != EOF) {
        // 判断结束条件
        if(n == 0)
            break;

        // 读入数据
        for(i=0; i<n; i++)
            scanf("%d", &stop[i]);

        // 计算
        count = 0;
        currposit = 0;  // 电梯开始在0层
        for(i=0; i<n; i++) {
            if(stop[i] > currposit)
                count += (stop[i] - currposit) * 6;
            else
                count += (currposit - stop[i]) * 4;
            count += 5;

            currposit = stop[i];
        }

        // 输出结果
        printf("%d\n", count);
    }

    return 0;
}


HDU1008 Elevator

标签:

原文地址:http://blog.csdn.net/tigerisland45/article/details/51870111

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!