简单题意:
只有一个电梯。上楼需要六分钟,下楼需要四分钟,每一层停留五分钟。输入n组数据,按照特定的顺序上下楼,求总共需要的时间。
解题思路及形成过程:
虽然放在贪心算法的专题,但是显然用傻瓜法更容易。
感想:
第一次这么快速的解决一道题。
AC代码:
#include<iostream>
#include<algorithm>
using namespace std;
int shanglou(int a,int b)
{
int t;
int y;
if(a>b)
{
t=a;
a=b;
b=t;
}
y=6*(b-a);
return y;
}
int xialou(int a,int b)
{
int t;
int y;
if(a>b)
{
t=a;
a=b;
b=t;
}
y=4*(b-a);
return y;
}
int main()
{
int n;
int i=0;
int time=0;
int a[101];
while(cin>>n&&n!=0)
{
i=0;
time=0;
for(i=0;i<n;i++)
{
cin>>a[i];
}
if(n==1)
cout<<(5+a[0]*6)<<endl;
else
{
time+=a[0]*6;
for(int j=1;j<n;j++)
{
if(a[j]>a[j-1])
time+=shanglou(a[j-1],a[j]);
else
time+=xialou(a[j],a[j-1]);
}
time+=5*n;
cout<<time<<endl;
}
}
return 0;
}