当前位置: 代码迷 >> 综合 >> PAT1006 Sign In and Sign Out(水)
  详细解决方案

PAT1006 Sign In and Sign Out(水)

热度:46   发布时间:2023-11-08 14:49:30.0

分析:水,简单排序问题。
输入的时候写烦了,直接scanf("%d:%d:%d",。。。。)即可。

#include<bits/stdc++.h>
using namespace std;
typedef struct Node{
    string index;int s,e;
}node;
node a[11000];
int tran(char a,char b){
    int ans=0;ans=(a-'0')*10+(b-'0');return ans;
}
bool cmp(node x,node y){
    return x.s<y.s;
}
bool cmp1(node x,node y){
    return x.e>y.e;
}
int main(){
    int n;cin>>n;for(int i=0;i<n;i++){
    string aa,bb;cin>>a[i].index>>aa>>bb;a[i].s=3600*tran(aa[0],aa[1])+60*tran(aa[2],aa[3])+tran(aa[4],aa[5]);a[i].e=3600*tran(bb[0],bb[1])+60*tran(bb[2],bb[3])+tran(bb[4],bb[5]);}sort(a,a+n,cmp);cout<<a[0].index<<" ";sort(a,a+n,cmp1);cout<<a[0].index<<endl;return 0;
}
  相关解决方案