首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

杭电1008简单题,该怎么处理

2012-02-09 
杭电1008简单题简单题,大意是坐电梯,从0层楼开始坐。上升 一层楼要用6秒,下降一层楼要用4秒,在某层楼停住要

杭电1008简单题
简单题,大意是坐电梯,从0层楼开始坐。 上升 一层楼要用6秒,下降一层楼要用4秒,在某层楼停住要停5秒。
http://acm.hdu.edu.cn/showproblem.php?pid=1008这是网址
Sample Input
1 2
3 2 3 1
0
 

Sample Output
17
41

我写了程序,也AC了,只是里面有一点不清楚。
这是我原来的代码

C/C++ code
#include<iostream>using namespace std;int main(int argc, char* argv[]){    int n,m,a,b,i,k,sum,p;    while(cin>>m&&m)    {        sum=0;        a=0;        for(i=0;i<m;i++)        {            cin>>b;            k=b-a;            if(k)//这里错了            {                sum=sum+6*(b-a);a=b;            }                if(!k)            {                sum=sum+4*(a-b);a=b;            }        }        sum=sum+5*m;        cout<<sum<<endl;    }    return 0;}


C/C++ code
#include<iostream>using namespace std;int main(int argc, char* argv[]){    int n,m,a,b,i,k,sum,p;    while(cin>>m&&m)    {        sum=0;        a=0;        for(i=0;i<m;i++)        {            cin>>b;            k=b-a;            if(k>0)//ac的代码            {                sum=sum+6*(b-a);a=b;            }                if(k<0)            {                sum=sum+4*(a-b);a=b;            }        }        sum=sum+5*m;        cout<<sum<<endl;    }    return 0;}


为什么会是这样。

[解决办法]
也许只是因为编译器的原因.
[解决办法]
maybe编译器的原因~
这只是提倡一种好的习惯~写程序要尽量清晰~
[解决办法]
当K是负数的时候,K作为布尔值也为真啊,LZ是不是这里搞错了。

PS:具体的题目没看
[解决办法]
k>0 表示电梯向上
k<0 表示向下
很容易理解吧。。

if(k) 你这句只要k不为0都是真的
逻辑错误,lz在看看吧
[解决办法]
探讨
简单题,大意是坐电梯,从0层楼开始坐。 上升 一层楼要用6秒,下降一层楼要用4秒,在某层楼停住要停5秒。
http://acm.hdu.edu.cn/showproblem.php?pid=1008这是网址
Sample Input
1 2
3 2 3 1
0


Sample Output
17
41

我写了程序,也AC了,只是里面有一点不清楚。
这是我原来的代……

[解决办法]
应该不是编译器的原因啊,k<0,布尔型仍然为真!

热点排行