1006. Sign In and Sign Out (25)

#include<iostream>
#include<string>
#include<fstream>
#include<vector>

using namespace std;

struct record{
    string name;
    int sign_in;
    int sign_out;
};
vector<record>records;

//time:HH:MM:SS
int get_time(const string &time){
    int t=0;
    size_t l=0,n=2;
    string hh=time.substr(l,n);//之前忘了这个n表示长度,开始一直当做下标了,蛋疼
    l=3;
    string mm=time.substr(l,n);
    l=6;
    string ss=time.substr(l,n);
    cout<<"hh: "<<hh<<" mm: "<<mm<<" ss: "<<ss<<endl;
    t=3600*atoi(hh.c_str())+60*atoi(mm.c_str())+atoi(ss.c_str());
    return t;
}

int main(){
    ifstream cin("data.txt");//一定要及得删除啊亲 
    int m=0;//record number
    string in="",out="";
    cin>>m;
    records.resize(m);
    while(m--){
        record rd;
        cin>>rd.name>>in>>out;     
        rd.sign_in=get_time(in);
        rd.sign_out=get_time(out);
        records.push_back(rd);
    } 
    
    size_t in_index=0,out_index=0;//开门关门用户所在记录的index 
    for(size_t i=1;i<records.size();++i){
        if(records[i].sign_in<records[in_index].sign_in){
            in_index=i;
        } 
        if(records[i].sign_out>records[out_index].sign_out){
            out_index=i;
        }
    }
    cout<<records[in_index].name<<" "<<records[out_index].name<<"\n";
    system("pause");
    
} 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值