您的位置:首页 > 其它

POJ3672解题报告

2015-09-07 19:28 253 查看

吐槽

想不到数组开小了 导致了 runtime error,我改了好几次,还以为是代码错了,结果是数组小了


题意:

一个人想跑步,上坡有单元时间U,下坡有单元时间D,平路有单元时间F,但是她是往返跑,所以有U就有D,有D就U,有F就有F(想象跑步的时候),然后题目给定了依次经过的路段,问她能够跑完几个路段?M是总的跑步时间


解法

对每次跑的路进行判断,然后进行时间上加和,如果>输入的M,就结束


代码(超级简单)

#include <iostream>
using namespace std;
char s[100000];    //就是因为数组开小了所以导致没过,后来改了过了
int main(){
    int M,T,U,F,D,sum=0,count=0,i;
    cin>>M>>T>>U>>F>>D;
    for(i=0;i<T;i++){
        cin>>s[i];
    }
    for(i=0;i<T;i++){
        if(s[i]=='u'){
            sum+=U+D;
            count++;
        }
        else if(s[i]=='f'){
            sum+=F+F;
            count++;
        }
        else if(s[i]=='d'){
            sum+=D+U;
            count++;
        }
        if(sum>=M){
            cout<<count-1<<endl;
            break;
        }
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: