首页 > 其他分享 >Map和Vector

Map和Vector

时间:2023-04-18 20:15:18浏览次数:27  
标签:Map 01 15 temp 10 Vector 20 line

PAT甲级-1016

sanple input

10 10 10 10 10 10 20 20 20 15 15 15 15 15 15 15 20 30 20 15 15 10 10 10
10
CYLL 01:01:06:01 on-line
CYLL 01:28:16:05 off-line
CYJJ 01:01:07:00 off-line
CYLL 01:01:08:03 off-line
CYJJ 01:01:05:59 on-line
aaa 01:01:01:03 on-line
aaa 01:02:00:01 on-line
CYLL 01:28:15:41 on-line
aaa 01:05:02:24 on-line
aaa 01:04:23:59 off-line

sample output

CYJJ 01
01:05:59 01:07:00 61 $12.10
Total amount: $12.10
CYLL 01
01:06:01 01:08:03 122 $24.40
28:15:41 28:16:05 24 $3.85
Total amount: $28.25
aaa 01
02:00:01 04:23:59 4318 $638.80
Total amount: $638.80

通过代码

#include<iostream>
#include<map>
#include<algorithm>
#include<vector>
using namespace std;

struct record{
    int dd,hh,mm,t;
    string tag;
};

int N;
double danjia[24];
map<string,vector<record>>M;

bool comp(record x,record y){
    return x.t<y.t;
}

int main(){
    int i,j,k;
    int month;
    for(i=0;i<24;i++){
        cin>>danjia[i];
    }
    cin>>N;
    for(i=0;i<N;i++){
        string name,tag;
        char c;
        int date,hour,minute;
        cin>>name>>month>>c>>date>>c>>hour>>c>>minute>>tag;
        record temp;
        temp.dd=date;
        temp.hh=hour;
        temp.mm=minute;
        temp.t=date*1440+hour*60+minute;
        temp.tag=tag;
        M[name].emplace_back(temp);
    }
    for(auto it=M.begin();it!=M.end();++it){
        auto V=it->second;
        sort(V.begin(),V.end(),comp);
        double total=0;
        for(i=0;i<V.size();){
            if(i+1<V.size()&&V[i].tag>V[i+1].tag){
                if(!total){
                    cout<<it->first;
                    printf(" %02d\n",month);
                }
                int t1=V[i].t;
                int t2=V[i+1].t;
                double fenzhang=0;
                for(int Time=t1;Time<t2;++Time){
                    fenzhang+=danjia[Time%1440/60];
                }
                printf("%02d:%02d:%02d %02d:%02d:%02d %d $%.2f\n",V[i].dd,V[i].hh,V[i].mm,V[i+1].dd,V[i+1].hh,V[i+1].mm,V[i+1].t-V[i].t,fenzhang/100);
                i+=2;
                total+=fenzhang;
            }
            else{
                i++;
            }
        }
        if(total)printf("Total amount: $%.2f\n",total/100);
    }
    return 0;
}

 

标签:Map,01,15,temp,10,Vector,20,line
From: https://www.cnblogs.com/muqilk/p/17330897.html

相关文章

  • 2023-4-18补缺map
    map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实......
  • redis 二、(哈希类型,列表类型,集合类型,有序集合,pipline机制,发布订阅,bitmap位图,HyperLogL
    目录Redis一、哈希类型二、列表类型三、集合类型四、有序集合五、慢查询六、pipline与事务七、发布订阅八、bitmap位图九、HyperLogLogRedis一、哈希类型###1---hget,hset,hdelhgetkeyfield#获取hashkey对应的field的value时间复杂度为o(1)hsetkeyfieldvalue#设......
  • uniapp 集成 sentry,并上传sourcemap,定位错误
    具体见:https://blog.csdn.net/weixin_49192390/article/details/113989218?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168178969316800197063528%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168178969316800197063528&a......
  • Hadoop的生态体系,HDFS和MapReduce等的具体介绍
    Hadoop的两大核心就是HDFS和MapReduce,而整个Hadoop的体系结构主要是通过HDFS的分布式存储作为底层数据支持的。并且会通过MapReduce来进行计算分析。Hadoop1.x的核心:HadoopCommonHadoopDistributedFileSystem(HDFS)HadoopMapReduceHadoop2.x的核心:HadoopCommonHadoopDistribu......
  • 1 哈希类型、 2 列表类型 、3 集合类型、 4 有序集合(zset) 、5 慢查询 、6 pipeline与
    目录1哈希类型2列表类型3集合类型4有序集合(zset)5慢查询6pipeline与事务7发布订阅8Bitmap位图9HyperLogLog1哈希类型###1---hget,hset,hdelhgetkeyfield#获取hashkey对应的field的value时间复杂度为o(1)hsetkeyfieldvalue#设置hashkey对应的field的value......
  • redis高级-day2——redis哈希类型、redis列表类型、redis集合类型、redis有序集合类型
    目录一、哈希类型二、列表类型三、集合类型四、有序集合(zset)五、慢查询六、pipeline与事务七、发布订阅八、Bitmap位图九、HyperLogLog十、作业1、http协议详情,http协议版本,http一些请求头2、如何实现服务器给客户端发送消息,websocket是什么?用过吗3、悲观锁和乐观锁,如何实现一、......
  • 关于Drawable转Bitmap的错误,为0的处理办法
    这个问题困惑我许久,主要是在于给的报错信息误导了我,报错信息如下:后来,我跟飞哥探讨(请教)了一番,得知可能返回的不是0,于是乎我就打印了一个log,来测试一下,发现并不是0,而是-1!!!!如此,我便寻得缘由,点进去方法,看到了这样一个方法:恍然大悟!!!感谢飞哥。......
  • 将map对象参数转换成String=String&方式
    *将map对象参数转换成String=String&方式*@paramparams*@paramcharset*@return*@throwsUnsupportedEncodingException*/publicstaticStringgenerateParams(Map<String,String>params,Stringcharset)throwsUnsupportedEn......
  • android bitmap oom 处理
    如果activity结束了就  bitmap.recycle(); 如果涉及到重复加载按钮的:if(bitmap!=null&&!bitmap.isRecycled()){bitmap.recycle();bitmap=null;//这里最好加上这一句Log.e("freeBitmap","=============recyclebitmap=======");}......
  • Java8新特性1_HashMap变化
    Java8新特性主要特性Lambda表达式函数式接口方法引用与构造器引用StreamAPI接口中默认方法与静态方法新时间日期API最大化减少空指针异常(Optional)。。。。HashMap1.7在JDK1.7到JDK1.8的时候,对HashMap做了优化首先JDK1.7的HashMap当出现Hash碰撞的时候,最后插入的......