problemG

来源:互联网 发布:网游数据库 编辑:程序博客网 时间:2024/06/05 06:53

简单题意:给定一个数N,代表电梯停的次数,每上一层耗费6S,下一层耗费4S ,在每次停的时候停5S,电梯从0层开始,求最终的总耗费时间

解题思路:将电停的时间和上下电梯的时间分隔开来,停的总时间是5*N,然后让下一次停电梯的层数和上一次停电梯的层数进行相减,如果大于0则是上电梯,则多加6S,若小于0则是下电梯,多加4S,最终将第一次停的时间乘6,加上停的总时间和上下电梯耗费的时间就是总时间。

感想:这题主要就是将停的时间和上下电梯的时间分隔开来,比较简单,只是第一次提交的时候不知道为什么会出现compilation error,我简化了下代码就AC了。

AC代码:

#include<iostream>
using namespace std;
int main()
{
    int a[101];
    int N;

    while(cin>>N,N)
    {  int cnt=0;
        int n=0;
        for(int i=0;i<N;i++)
            cin>>a[i];
            if(N!=1)
        {
           for(int j=0;j<N-1;j++)
        {
            if((a[j+1]-a[j])>0)
                cnt=cnt+(a[j+1]-a[j])*6;
              else if((a[j+1]-a[j])<0)
                cnt=cnt+(a[j]-a[j+1])*4;
        }
        }
        n=5*N+6*a[0];

 


     cout<<cnt+n<<endl;
    }

     return 0;

     }

 

 

0 0
原创粉丝点击