总结_杭电1008

题目大意:一部可上行可下降的电梯,最开始停在0层。工作过程中,电梯上升一层需要6s而下落一层需要4s,停留一层时间则为5s。现输入一个正整数N,后跟N个正整数,代表N次电梯的行为。输出为电梯执行N次花费的总时间。

注意:N=0时程序终止。另外,譬如电梯从5层下降至2层,5层停留5s,2层也停留5s,但3、4层是直接略过不作停留的。

代码为

#include
int main()
{
    int i , pan , n , sum;
    while (scanf("%d" , & n) != EOF)
    {
        int dat[101] = {0};
        if(n == 0)
            break;
        for(i = 0 ; i < n ; i++)
            scanf("%d" , & dat[i]);
        sum = 6 * dat[0] +5 ;
        for(i = 1 ; i < n ; i ++)
        {
            pan = dat[i] - dat[i-1];
            if(pan > 0)
                sum = sum + pan * 6 + 5;
            else
                sum = sum - pan * 4 + 5;
        }
        printf("%d\n" , sum);
    }
    return 0;
}
理解题意后,编程即可。



你可能感兴趣的:(总结_杭电1008)