题解 | #游船出租#

游船出租

http://www.nowcoder.com/practice/50fc5c0009cf4083bca5fbedcb4b6dc0

#include<iostream>
#include<string>
#include<vector>
using namespace std;

struct ship{
    int time;
    int isOk = 0;
};

int main(){
    vector<ship> str(100);
    str.resize(100);
    float num = 0, answer = 0;
    int a;
    while(scanf("%d ",&a)!=EOF){
        float hour,minute,time,period;
        char c;
        if(!(a>=0&&a<=100)) break;
        scanf("%c %f:%f",&c,&hour,&minute);
        time = hour*60+minute;
        //记录当前输入的数据

        //放到容器里面
        if(a!=0){
            if(c=='S') {
                //记录开始时间,并标记数据需要结束数据
                str[a].time = time;
                str[a].isOk = 1;
            }else if(str[a].isOk == 1){
                //如果有开始数据,记录结束数据
                num++;
                answer+=(time - str[a].time);
//                 str[a].time = 0;
//                 str[a].isOk = 0;
            }
        }else{
            if(num==0) cout<<"0 0"<<endl;
            else cout<<int(num)<<" "<<int(answer/num+0.5)<<endl;
            str.clear();
            str.resize(100);
            answer = 0;
            num = 0;
        }
    }

    return 0;
}

评测例子有问题,参考代码中注释掉的部分。
还船的时候必须要考虑该船是否处在借出去的状态,样例中借出1次还回来多次也算进去了。
添加注释后代码AC了,正常来说,应该把注释的两行去掉。

全部评论

相关推荐

10-07 20:48
门头沟学院 Java
不敢追175女神:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务