杭电ACM1008

在这里插入图片描述
这是一道坐电梯的题目:
简单分析:
1、上楼每层花费6s,若停留,则需等待5s,下楼每层花费4s,等待同样需要5s
2、分三部分统计,上楼时间,下楼时间,开始去的楼层的时间
注意:
在比较前一楼与后一楼大小时,要注意for循环的范围,从0~n-1,而不是我们理解的n

#include<stdio.h>
int main()
{
   int n;
   while(~scanf("%d",&n)&&n)
  {
   int num[105]={0};
   int sum_s=0,sum_x=0,sum=0;
   int ext=0;
   for(int i=0;i<n;i++)
   {
      scanf("%d",&num[i]);
   }
   if(n>1)
   {
       //考虑范围,是要比总的少1
     for(int i=0;i<n-1;i++)
    {
       if(num[i]<num[i+1])//上楼
       {
           sum_s=sum_s+(num[i+1]-num[i])*6+5;
           //printf("<sum_s:%d>\n",sum_s);
       }
       else
       {
           //printf("****\n");
           sum_x=sum_x+(num[i]-num[i+1])*4+5;
           //printf("<sum_x:%d>\n",sum_x);
       }
    }
   }
   ext=(num[0]-0)*6+5;
   sum=sum_x+sum_s+ext;
   printf("%d\n",sum);
  }

}

猜你喜欢

转载自blog.csdn.net/weixin_44347111/article/details/86656162