专题一 Problem G
2016-03-26 20:29
309 查看
一、题目编号:
Problem G
二、简单题意:
这实际就是一个求和的问题。电梯开始在0层,上升一层用6秒,下降一层用4秒,每停一次用五秒,计算出每组数据的总时间。
三、解题思路形成过程
每组数据相邻数据比较即可,直到最后一个数据,第一个数据的前一个数据为0,总时间初始为0。前者a大于后者b则总时间加(a-b)*4+5,前者a小于后者b则总时间加(b-a)*6+5,输出总时间。
四、感想
这个问题比较简单。要注意每组数据都要初始化总时间。
五、AC代码
#include<iostream>
using namespace std;
int main()
{
int i,n,a[101];
while(cin>>n&&n!=0)
{
for(i=0;i<n;i++)
cin>>a[i];
int st=0,total=0;
for(i=0;i<n;i++)
{
if(a[i]>=st)
total+=(a[i]-st)*6+5;
else
total+=(st-a[i])*4+5;
st=a[i];
}
cout<<total<<endl;
}
return 0;
}
Problem G
二、简单题意:
这实际就是一个求和的问题。电梯开始在0层,上升一层用6秒,下降一层用4秒,每停一次用五秒,计算出每组数据的总时间。
三、解题思路形成过程
每组数据相邻数据比较即可,直到最后一个数据,第一个数据的前一个数据为0,总时间初始为0。前者a大于后者b则总时间加(a-b)*4+5,前者a小于后者b则总时间加(b-a)*6+5,输出总时间。
四、感想
这个问题比较简单。要注意每组数据都要初始化总时间。
五、AC代码
#include<iostream>
using namespace std;
int main()
{
int i,n,a[101];
while(cin>>n&&n!=0)
{
for(i=0;i<n;i++)
cin>>a[i];
int st=0,total=0;
for(i=0;i<n;i++)
{
if(a[i]>=st)
total+=(a[i]-st)*6+5;
else
total+=(st-a[i])*4+5;
st=a[i];
}
cout<<total<<endl;
}
return 0;
}
相关文章推荐
- 如何在php中用百度云推送进行消息的推送
- Bestcoder Div2 #77 A So easy
- Socket send函数和recv函数详解
- 树:BST、AVL、红黑树、B树、B+树
- C#中string.format用法详解
- 第20篇《结网》读书笔记
- 学习进度条——第四周
- 更新iOS和Xcode版本所遇到的问题
- myisam和innodb索引实现的不同
- C中结构体与C++中类的区别
- exec函数族
- 求数组最大字数组之和第一部
- Ubuntu在qt下使用caffe的pro写法
- 用户和用户组文件
- AVL如何保持平衡
- error c4996
- leetcode_076 Minimun Window Substring
- hdoj 2028Lowest Common Multiple Plus
- Linux(1):fork函数
- LeetCode172. Factorial Trailing Zeroes