PAT1095Cars on Campus

【unity游戏开发入门到精通——通用篇】Post Processing 后处理插件Post-process Volume 和 Volume最全基础使用说明 之前我已经实现了不少后处理功能,本文其实就是将他们归类整理,以便更好的查找和理解。在Unity中,后处理(Post-Processing)是在相机所捕捉的图像上应用一些特殊效果的过程,后处理会让图像视觉效果更好(前提是做的好)。这些效果的范围有非常细微的颜色调整,也包括整体的美术风格的大修,可以让场景看起来更加真实或风格化,或者只是变得更好看。就像我们都会用手机拍照,但很多时候我们拍的原始的相片都打不到我们想要的效果。比如照片可能亮度不够,颜色不饱和或者对比度不好等。 阅读详情
题目链接:

http://www.nowcoder.com/pat/5/problem/4319

题目大意:

1.是统计每个时间校园内有多少辆车

2.是找出在校园内呆的时间最久的车

比较肉的模拟类问题,知道怎么去除无效的数据,直接模拟就可以了。
有效的配对是指紧挨着的两个in和out,也就是说连续的多个in取最后一个为有效,连续多个out取第一个为有效,最后如果有in没有被匹配,则应该放弃相应的记录。
灰常感谢这位博主的博客

http://blog.youkuaiyun.com/sinat_29278271/article/details/48081177

自己最开始写的时候完全没有如何处理无效数据的头绪。
用map<string,int>建立车辆名与停留总时间的映射关系。主要是对录入数据的处理,对录入数据进行排序,先排车辆名,如果车名相同,时间小的排前面。当比较时,前一个数据与后一个数据,车名相同,时间不同,前一个状态为in与后一个状态为out匹配,就可以用后一个时间减前一个时间,为停留时间,加到对应的车辆名总停留时间上。

代码:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
#include<algorithm>
#include<map>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define MAX 10005
const int MAXRANGE = 24*60*60;
string decToTime(int time)
{
    char str[20];
    sprintf(str,"%02d:%02d:%02d",time/(60*60),time/60%60,time%60);
    return string(str);
}
int timeToDec(int h,int m,int s)
{
    return (h * 60 + m) * 60 + s;
}//转化为10进制
class Car
{
public:
    string ID;
    int time;
    bool out;
public:
    bool isMatch(const Car &c)
    {
        return this->ID == c.ID&& this->time < c.time && this->out == false && c.out == true;
    }
    bool operator <(const Car &c) const//先按车牌排序,再按时间排序
    {
        if (this->ID != c.ID)
        {
            return this->ID < c.ID;
        }
        else if (this->time != c.time)
        {
            return this->time < c.time;
        }
        else
        {
            return !this->out;
        }
    }
    //void Printf()
    //{
    //  cout << ID <<" "<< time <<" "<< out << endl;
    //  cout << decToTime(time) << endl;
    //}
};
Car cars[MAX];
int sumCnt[MAXRANGE];
int main()
{
    int N, K;
    cin >> N >> K;
    for (int i = 0; i < N; i++)
    {
        int h, m, s;
        cin >> cars[i].ID;
        scanf("%d:%d:%d",&h,&m,&s);
        cars[i].time = timeToDec(h,m,s);
        string status;
        cin >> status;
        if (status == "out")
        {
            cars[i].out = true;
        }
        else
        {
            cars[i].out = false;
        }
    }
    sort(cars,cars+N);
    //测试
    /*for (int i = 0; i < N; i++)
    {
        cars[i].Printf();
    }*/
    map<string, int> parkTime;
    int maxParkTime = -1;
    for (int i = 0; i < N-1; i++)
    {
        if (cars[i].isMatch(cars[i+1]))//当前i状态为in,下一个i+1状态为out,满足即可进入
        {
            parkTime[cars[i].ID] += cars[i + 1].time - cars[i].time;
            if (maxParkTime < parkTime[cars[i].ID])
            {
                maxParkTime = parkTime[cars[i].ID];
            }
            sumCnt[cars[i].time]++;
            sumCnt[cars[i+1].time]--;
        }
    }
    for (int i = 1; i < MAXRANGE; i++)
    {
        sumCnt[i] += sumCnt[i-1];
    }
    for (int i = 0; i < K; i++)
    {
        int h, m, s;
        scanf("%d:%d:%d",&h,&m,&s);
        printf("%d\n",sumCnt[timeToDec(h,m,s)]);
    }
    map<string, int>::iterator it;
    for (it = parkTime.begin(); it != parkTime.end(); ++it)
    {
        if (it->second == maxParkTime)
        {
            cout << it->first << " ";
        }
    }
    cout << decToTime(maxParkTime)<< endl;
    system("pause");
    return 0;
}
保姆级教程:一步步创建 ABAP Text Table 有朋友反馈,问有没有一个自己动手创建 Text Table 的例子,因为自己没有动手实践过,总觉得心里不踏实。这个行为的语义是,ZAI_TYPE_T 这张表的 AI_TYPE 字段值,不能随便维护,必须是表。然后另一个需要添加的字段是 AI_TYPE 这个字段值对应的文本值,本例笔者采用 SAP 标准的。也是自己创建的,很简单的一个 Data Element,类型为 CHAR,长度为 2.依次给主表的 01,02,03 三个字段值维护对应的描述信息,最后效果如下。按照下面的字段结构,创建另一。 阅读详情

相关推荐

[统计模型] 基于R的潜在剖面分析(LPA)

本文主要介绍基于R进行潜在剖面分析(Latent Profile Aanalysis, LPA)。 关于潜在类别分析LCA/潜在剖面分析LPA的概念和区别,可以参考一下这篇文章: 潜在类别分析LCA \潜在剖面分析LPA介绍https://www.jianshu.com/p/4c830094131e?utm_campaign=maleskine 但是此文对潜类别分析的阐释还比较生涩,而且没有具体的代码编写、模型优选等内容。本文旨在丰富LPA的内容,并希望和大家交流、共同进步。 1. 什么是潜类别分.

bigstar863的博客 1万+

【PAT甲级 - C++题解】1095 Cars on Campus

📣专栏定位:为想考甲级PAT的小伙伴整理常考算法题解,祝大家都能取得满分!

Newin2020的博客 1172

从爱好者到工程师:如何低成本体验RFSoC ZU47DR?性能实测与避坑指南

本文详细介绍了如何低成本体验赛灵思RFSoC ZU47DR芯片,包括二手开发板选购、租赁服务、精简开发环境搭建等实用方案。通过性能实测与避坑指南,帮助爱好者和工程师在有限预算下充分利用这款集成了ARM处理器和FPGA的高性能芯片,降低开发门槛。

weixin_42525005的博客 220

1095. Cars on Campus (30)-PAT甲级真题

给出n条车辆出入的记录,按时间顺序一一匹配。然后给出k个时间点,找到这k个时间点对应校园内车辆的数量。最后输出停留时间最长的车名。这里理解了就知道可以按时间排好序后,找到一前一后相同name的进出记录。

hzj913313180的博客 196

Ubuntu22.04+Docker一键部署Autoware Universe避坑指南(附鱼香ROS配置)

本文详细介绍了在Ubuntu22.04系统中使用Docker一键部署Autoware Universe的完整流程,包括鱼香ROS工具链配置、Docker环境优化及VSCode开发环境集成。通过实战指南帮助开发者快速搭建自动驾驶开发环境,解决常见部署问题,提升开发效率。

weixin_29254673的博客 413

手把手教你实现阿克曼ROS小车的运动控制

本文详细介绍了如何从零开始实现阿克曼ROS小车的运动控制。内容涵盖硬件搭建、STM32底层PID速度与舵机控制、ROS层阿克曼运动学模型解析,以及上下位机通信协议设计。通过手把手的代码示例和调试步骤,帮助机器人爱好者与开发者掌握将高级速度指令转化为小车具体动作的全流程,实现流畅的阿克曼转向控制。

weixin_29193259的博客 198

PAT甲级真题 1095 Cars on Campus (30分) C++实现(结构体排序,匹配停车场in、out信息)

题目 Zhejiang University has 8 campuses and a lot of gates. From each gate we can collect the in/out times and the plate numbers of the cars crossing the gate. Now with all the information available, you are supposed to tell, at any specific time point, the

zhang35的博客 481

STM32 RTC_WaitForSynchro()死循环问题分析与LSI时钟优化实践

本文深入分析了STM32使用LSI时钟源时,调用RTC_WaitForSynchro()函数陷入死循环的根本原因。问题核心在于RTC时钟域未正确使能,导致硬件同步标志RSF无法置位。文章提供了通过显式调用RCC_RTCCLKCmd(ENABLE)函数启用RTC时钟总开关的解决方案,并分享了编写健壮RTC/BKP初始化代码、增加超时机制等最佳实践,确保系统稳定运行。

weixin_29185493的博客 510

PAT甲级 1095 Cars on Campus (30分) map/C++

1095 Cars on Campus (30分) 题目大意:给定车的进出时间,要求去掉不合法的数据(只有进没有出,只有出没有进)。问query中的时间点校园内有多少辆车,并且输出在校园中停留时间最长的车序列。 这道题真的很需要耐心和细心,考察stl的使用 捋一捋思路: 去掉不合法的数据,也就是in和out要配对:先对时间进行排序,排完以后必定是一进一出配对的出现,如果不成对出现则舍弃; 计算停留时间最长的车:在去掉不合法数据的同时,计算其停留时间,使用map来存放,以便下一次直接找到并增加停留时长; q

qq_43955154的博客 322

大数据平台符合信创(CDH国产化代替)详细方案(企业内部不外传方案)

信创旨在实现信息技术产业的自主可控,减少对外部技术的依赖,从而提升国家信息安全和经济发展的自主性。在此背景下,中国对信创提出了更高的要求,以期在激烈的市场竞争中占据有利地位。信创不仅关乎技术层面的创新,更涉及到产业链条的整合与优化。它要求从基础硬件、操作系统、数据库、中间件等各个层面实现国产替代,构建完整的信息技术生态体系。尤其是在做国企项目时,就有硬性要求使用符合信创(国产代替)。在信创背景下,符合要求的产品必须具备自主可控、安全可靠以及性能卓越等核心特点。

大模型大数据攻城狮的专栏 3510

【Windows Server 2019】企业虚拟专用网络服务的配置和管理(上)

博文介绍了部署企业虚拟专用网的定义,目的,以及好处。同时说明了实验拓扑图以及虚拟专用网络的工作原理。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 1万+

1095. Cars on Campus (30)

1.事件模拟 2.首先读取所有的汽车记录数据,筛选出合理的进入和离开时间,放到一个vector里面,对这个vector进行排序处理,进入时间早的放在前面 3.对每一秒进行模拟,已经进入的车辆用一个小根堆进行存储维护,离开时间早的,排在堆顶 3.取下一次进入校园车辆的时间,下一次离开校园车辆的时间,下一次查询的时间,取三者的最小值,直接跳那个时间点,进行处理,优化时间复杂度 4.一开始第4个

Siukwan Program 654

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

PAT 1095 Cars on Campus 模拟

题目链接: PAT1095 题意 : 有一个学校,每天会有很多车进出;给出N条车辆进出情况和M条询问 每条询问输出当前校园有多少辆车,时间从0点24点  最后输出停留最久的车的车牌号和停留时间,  如果有多个,则按字典序输出车牌号 注意  必须要使得所有数据保证以下情况,否则为无效数据: 1 最开始校园里是没车的 2 最后不能有车停留 3 同一辆车连续多次进入 只有

旧时光 2109

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PAT 甲级 1095  Cars on Campus

1095 Cars on Campus (30 point(s)) Zhejiang University has 8 campuses and a lot of gates. From each gate we can collect the in/out times and the plate numbers of the cars crossing the gate. Now with a...

漫浸天空的雨色的备忘录~ 1021

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

PAT 1095 Cars on Campus

原文链接:我的个人博客 原题链接 1095 Cars on Campus 考点 思路   这个题目真的是神烦哦。半夜做真的容易秃发。搞不清楚一个车你要进进出出几次……冷静下来理一理思路。题目中说:进和出都是配对的。只有进没有出的进是无效的,同样的只有出没有进的出也是无效的。这样来说,假如我有一辆A9的车,记录显示8点进入,9点进入,10点进入,下午四点离开。那么合法的时间段就是上午十点到...

我是没有梦想的小白 185

[PAT-A 1095]Cars on Campus

题目大意: 给出N条记录,每条记录给出一辆车的车牌号,当前时刻以及入校情况(入校还是出校)。 然后给出K个查询,每个查询给出一个时刻,输出在这个时刻内校园的车辆数。 查询完毕后输出在学校内停留时间最长的车辆的车牌号和对应的停留时间(如果由多个就一并输出) 同一辆车,配对的on和off必须满足在把这辆车按时间顺序排列后,在他们之间不允许出现其他的on或者off的记录,否则视为无效记录。 这个题考...

RegulusF的博客 563

PAT 1095 Cars on Campus C++版

PAT 1095 Cars on Campus C++版 1.题意 给出校园进出车辆的时间以及牌照信息。接着输入查询的时间,让你输出在这个时刻有多少车辆在校园,最后输出一天中停留在校园最久的车子,如果有多辆车停留的时间相同,那么就按照字母顺序输出其牌照信息,然后输出停留的时间。 2.分析 主要的实现步骤如下: step 1:用一个结构体存储车辆的信息 step 2:将车辆进出入的时间转换成当它的...

说文科技,做有态度的研究。 731

PAT-ADVANCED1095——Cars on Campus

我的PAT-ADVANCED代码仓:https://github.com/617076674/PAT-ADVANCED 原题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805371602845696 题目描述: 题目翻译: 1095 校园里的车辆 浙江大学有8个校区和很多门。 从每个门我们可以收集进...

清风阁 481

PAT A1095 Cars on Campus

PAT A1095 Cars on Campus Sample Input: 16 7 JH007BD 18:00:01 in ZD00001 11:30:08 out DB8888A 13:00:00 out ZA3Q625 23:59:50 out ZA133CH 10:23:00 in ZD00001 04:09:59 in JH007BD 05:09:59 in ZA3Q625 11:4...

qq_42347617的博客 187

【PAT 1095 Cars on Campus】

PAT 1095 Cars on Campus 写代码注意点: 1.可以以h:m:s的形式记录时间,但是在计算时间时要注意进位的问题,例如24s+50s=74s,不能直接记录为74s,要向前一位进一; 2.可以将时间转化为秒为单位,再进行计算,这样计算时不需要考虑进位的问题。 3.进行时间in,out配对前,先把名字一样的排一起,再按时间先后排,注意题目说了保证输入中至少有一辆车是匹配好的,没有一辆车同时进出。 4.计算最长停留时间时,要考虑到一辆车可能多次停留,注意累计时间。...

qq_55805517的博客 230

PAT 甲级 1095 Cars on Campus

题意:车辆可以在大学里面停放车辆,先给定一些车辆进出的信息,只有进入和出去匹配成功了才算,如果有多次in时,取进入的最后一次,多次out时取最前面一个,也就是说in要匹配下一个紧挨时间的out才算一次匹配成功,然后k次查询,查询在某个时间点的车辆数目,然后停留的最长时间以及相对应的车牌号码。时间最好换算为计算比较好。 思路:首先把信息全部存放到结构体数组中,然后根据先排id在排time的原则,把...

qq_42152681的博客 241

⭐⭐⭐⭐⭐PAT A1095 Cars on Campus

文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 1095 Cars on Campus (30分) 知识点 排序+大模拟 实现 码前思考 这道题目我不会。。。虽然只是模拟题,但我依然不太会写,我抄柳神代码的。 需要将时间统一化成秒; 柳神的思路如下: 代码实现 #include <iostream> #include <vector> #include <algorithm> #include <cstring> #include &l.

yc_cy1999的博客 192

PAT | A1095 Cars on Campus

如果没有考虑在两条记录中间多次查询的情况,测试点2和4会出错; 如果最后的输出没有按字母排序,测试点5会出错 以上是我遇到的问题,以下是AC代码: #include <iostream> #include <string> #include <vector> #include <set> #include <unordered_map> ...

yehonglin29的博客 240

【PAT】A1095 Cars on Campus【排序】

Zhejiang University has 8 campuses and a lot of gates. From each gate we can collect the in/out times and the plate numbers of the cars crossing the gate. Now with all the information available, you a...

elegant coder 663
上一篇: poj3083Children of the Candy Corn
下一篇: PAT1096Consecutive Factors
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值