#include<stdio.h>
int main(){
int n,a[1000];//因为是n<=1000所以大部分呢都是这样写
scanf("%d",&n);//停留了n次
int sum=n*5;//
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
if(i+1<n){
if(a[i]>a[i+1])//如果是下降(这里有数组越界问题如果是i=n-1时候那么i+已经越界 )
sum+=4*(a[i]-a[i+1]);
if(a[i+1]>a[i])
sum+=6*(a[i+1]-a[i]);
}//if
}//for
printf("%d",sum);
return 0;
}上面是自己写的代码 a[i+1]并没有输入
再写一个循环就可以了
下面是答案
#include<stdio.h>
int sum=0,a[1001],n;
//定义时间总数sum,数组a存停留的楼层号,以及停留次数n
int main()
{
scanf("%d",&n);//输入停留的次数
for(int i=1;i<=n;i++)//输入停留的楼层号
{
scanf("%d",&a[i]);
}
sum+=5*n;//每次停留要待在该层五秒
for(int i=0;i<n;i++)//开始对上下楼进行模拟
{
if(a[i]>a[i+1])//下楼每层是四秒
sum+=4*(a[i]-a[i+1]);
if(a[i+1]>a[i])//上楼每层是六秒
sum+=6*(a[i+1]-a[i]);
}
printf("%d",sum);
}
1121电梯问题
最新推荐文章于 2024-07-06 07:39:36 发布