• PAT1016


    #include<cstdio>
    #include<algorithm>
    #include<vector>
    #include<cstring>
    using namespace std;
    const int maxn=1510;
    int fare[1510];
    struct R{
    char name[25];
    int M,D,h,m;
    int totalMin;
    int dayM;
    bool state;
    };
    bool cmp(R &r1,R &r2)
    {
    int f=strcmp(r1.name,r2.name);
    if(f!=0){
    if(f<0)return true;
    return false;
    }
    else {
    return r1.totalMin<r2.totalMin;
    }
    }
    int n;
    R rec[maxn];
    int main()
    {
    //freopen("in.txt","r",stdin);
    for(int i=0;i<24;i++){
    scanf("%d",&fare[i*60]);
    for(int j=i*60+1;j<(i+1)*60;j++)
    fare[j]=fare[j-1];
    }
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
    char c[20];
    scanf("%s %d:%d:%d:%d %s",
    rec[i].name,&rec[i].M,&rec[i].D,&rec[i].h,&rec[i].m,c);
    rec[i].totalMin=rec[i].D*24*60+rec[i].h*60+rec[i].m;
    rec[i].dayM=rec[i].h*60+rec[i].m;
    if(strcmp(c,"on-line")==0)rec[i].state=true;
    else rec[i].state=false;
    }
    sort(rec,rec+n,cmp);
    int nxtP=0;
    while(nxtP<n)
    {
    char name[20];
    strcpy(name,rec[nxtP].name);
    int i=nxtP;
    //在跳过不需要输出的记录遇到了一些困难
    //参考算法笔记的代码
    int needPrint=0;
    while(i<n&&strcmp(name,rec[i].name)==0){
    if(needPrint==0&&rec[i].state==true)needPrint=1;
    else if(needPrint==1&&rec[i].state==false)needPrint=2;
    i++;
    }
    if(needPrint<2){
    nxtP=i;
    continue;
    }
    printf("%s %02d
    ",name,rec[nxtP].M);
    double totalMoney=0;
    for(int j=nxtP;j<i-1;j++)
    {
    if(rec[j].state==true&&rec[j+1].state==false){
    int s=rec[j].totalMin,e=rec[j+1].totalMin;
    int t=s;
    double money=0;
    while(t<e){
    money+=fare[t%1440];
    t++;
    }
    printf("%02d:%02d:%02d %02d:%02d:%02d %d $%.2lf
    "
    ,rec[j].D,rec[j].h,rec[j].m
    ,rec[j+1].D,rec[j+1].h,rec[j+1].m
    ,e-s,money/100);
    totalMoney+=money;
    }
    }
    printf("Total amount: $%.2lf
    ",totalMoney/100);
    nxtP=i;
    }
    //getchar();
    }
  • 相关阅读:
    xray与burp联动被动扫描
    Xray简单使用教程
    xray安装证书进行http以及https扫描
    brup安装证书抓取https
    Apache Solr JMX服务 RCE 漏洞复现
    pocsuite3使用教程
    Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现(含有poc)
    CVE-2019-0193:Apache Solr 远程命令执行漏洞复现
    如何在kalilinux上安装docker
    如何在windows10家庭版上搭建docker
  • 原文地址:https://www.cnblogs.com/MalcolmMeng/p/8442974.html
Copyright © 2020-2023  润新知