L2-034 口罩发放 (25 分)

2023-11-01

在这里插入图片描述

好恶心的一道题,就因为我把有症状的人用set存,结果一直卡在后三个样例,把我恶心吐了,最后实在没法把set改成vector顺便标记一下看看是否访问过一次,然后就过了,我tm改了接近两个小时,结果就卡在这…

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <string>
#include <cstring>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#define ll long long
// #define int long long
#define lowbit(x) ((~x+1)&x)
#define inf 1e9+10
using namespace std;
const int N=1e5+10;
struct node {
    string name,id;
    int state,time;
    int arise;//release
}sqlist[N];
map<string,int>vis,mp,ma;
vector<node>ans,unhealth;
// set<pair<string,string> >unhealth;

bool cmp(node a,node b) {
    if(a.time!=b.time)
        return a.time<b.time;
    else return a.arise<b.arise;
}

bool check(string str) {
    if(str.size()!=18) return false;
    for(int i=0; i<str.size(); i++) {
        if(str[i]<'0'||str[i]>'9') return false;
    }
    return true;
}

int main() {
    int d,p,h,m;
    cin>>d>>p;
    for(int day=1; day<=d; day++) {
        mp.clear();
        int t,s,state;
        string name,id;
        cin>>t>>s;
        int total=0;
        for(int i=1; i<=t; i++) {
            cin>>sqlist[i].name>>sqlist[i].id>>sqlist[i].state;
            scanf("%d:%d",&h,&m);
            sqlist[i].time=h*60+m;
            sqlist[i].arise=i;
            if(!check(sqlist[i].id)) continue;
            if(sqlist[i].state==1&&!ma[sqlist[i].id]) {
                // unhealth.insert(make_pair(sqlist[i].name,sqlist[i].id));
                unhealth.push_back(sqlist[i]);
                ma[sqlist[i].id]=1;
            }
        }
        sort(sqlist+1,sqlist+t+1,cmp);
        for(int i=1; i<=t; i++) {
            node tmp;
            int flag=1;
            if(!check(sqlist[i].id)) continue;
            if((vis[sqlist[i].id]<=day||vis[sqlist[i].id]==0)&&s&&!mp[sqlist[i].id]) {
                s--;
                vis[sqlist[i].id]=day+p+1;
                mp[sqlist[i].id]=1;
                tmp=sqlist[i];
                ans.push_back(tmp);
            }
        }
    }
    for(int i=0; i<ans.size(); i++) {
        cout<<ans[i].name<<' '<<ans[i].id<<endl;
    }
    for(int i=0; i<unhealth.size(); i++) {
        cout<<unhealth[i].name<<' '<<unhealth[i].id<<endl;
    }
    // set<pair<string,string> >::iterator it;
    // for(it=unhealth.begin(); it!=unhealth.end(); it++) {
    //     cout<<(*it).first<<' '<<(*it).second<<endl;
    // }
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L2-034 口罩发放 (25 分) 的相关文章

  • 国教 2019级 算法设计与分析 作业集锦(期末作业)

    7 1 寻找第k小的数 20 分 给定若干整数 请设计一个高效的算法 确定第k小的数 输入格式 测试数据有多组 处理到文件尾 每组测试数据的第1行输入2个整数n k 1 k n 1000000 第2行输入n个整数 每个数据的取值范围在0到1
  • 【PTA】A-B

    本题要求你计算A B 不过麻烦的是 A和B都是字符串 即从字符串A中把字符串B所包含的字符全删掉 剩下的字符组成的就是字符串A B 输入格式 输入在2行中先后给出字符串A和B 两字符串的长度都不超过104 并且保证每个字符串都是由可见的AS
  • L1-018 大笨钟(Python3)

    微博上有个自称 大笨钟V 的家伙 每天敲钟催促码农们爱惜身体早点睡觉 不过由于笨钟自己作息也不是很规律 所以敲钟并不定时 一般敲钟的点数是根据敲钟时间而定的 如果正好在某个整点敲 那么 当 数就等于那个整点数 如果过了整点 就敲下一个整点数
  • 打印 九九乘法表 九九口诀表

    题目 下面是一个完整的下三角九九口诀表 1 1 1 1 2 2 2 2 4 1 3 3 2 3 6 3 3 9 1 4 4 2 4 8 3 4 12 4 4 16 1 5 5 2 5 10 3 5 15 4 5 20 5 5 25 1 6
  • 两个有序序列的中位数 (25 分)

    已知有两个等长的非降序序列S1 S2 设计函数求S1与S2并集的中位数 有序序列A 0 A 1 A N 1 的中位数指A N 1 2 的值 即第 N 1 2 个数 A 0 为第1个数 输入格式 输入分三行 第一行给出序列的公共长度N 0
  • 【PTA】【C语言】判断给定整数是否素数[加强版]

    素数是指在大于1的自然数中 除了1和它本身以外 不能被其他自然数整除的数 本题要求编写程序 判断从键盘输入的数是否素数 如果是素数 输出XX is prime number 的信息 输出XX is not prime number 的信息
  • 【PTA】谷歌的招聘

    2004 年 7 月 谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌 如下图 用于招聘 内容超级简单 就是一个以 com 结尾的网址 而前面的网址是一个 10 位素数 这个素数是自然常数 e 中最早出现的 10 位连续数字 能找出这个
  • Basic Level 1055 集体照 (25分)

    题目 拍集体照时队形很重要 这里对给定的 N 个人 K 排的队形设计排队规则如下 每排人数为 N K 向下取整 多出来的人全部站在最后一排 后排所有人的个子都不比前排任何人矮 每排中最高者站中间 中间位置为 m 2 1 其中 m 为该排人数
  • 7-2 计算工资数 (10 分) PTA JAVA

    某公司标准上班时间是120小时 每小时工钱是20元 如果上班时间超出了120小时 超出部分每小时按2倍工资发放 请编写程序计算员工月工资 输入格式 输入一个员工的工作小时数 输出格式 输出这个员工的工资数 输入样例 在这里给出一组输入 例如
  • Advanced Level 1001 A+B Format (20 point(s))

    PAT甲级系列 PAT Advanced Level 文章目录 英文 Title Input Specification Output Specification Sample Input Sample Output 中文 题目 输入格式
  • 【PTA】红包几何

    一 题目 N个红包排成一排 各个红包的大小清楚可见 假定你已通过某种方式获取取得k个红包的权力 通常的情况下使用贪心算法每次取最大的红包即可 但规定 只能够从两端取 请编写函数 计算从含有N个红包的红包序列的两端取出k个红包的最大总和值 1
  • PTA练习 Java模拟题 编程题

    7 1 各类字符数 20 分 从键盘输入一个字符串 程序输出该字符串中的大写英文字母数 小写英文字母数以及非英文字母数 输入格式 字符串 输出格式 大写英文字母数 小写英文字母数 非英文字母数 输入样例 在这里给出一组输入 例如 Hello
  • PTA 6-1 简单输出整数

    6 1 简单输出整数 10 分 本题要求实现一个函数 对给定的正整数N 打印从1到N的全部正整数 函数接口定义 void PrintN int N 其中N是用户传入的参数 该函数必须将从1到N的全部正整数顺序打印出来 每个数字占1行 裁判测
  • 跟奥巴马一起编程 C语言

    美国总统奥巴马不仅呼吁所有人都学习编程 甚至以身作则编写代码 成为美国历史上首位编写计算机代码的总统 2014 年底 为庆祝 计算机科学教育周 正式启动 奥巴马编写了很简单的计算机代码 在屏幕上画一个正方形 现在你也跟他一起画吧 输入格式
  • 【PTA】矩阵列平移

    给定一个 n n 的整数矩阵 对任一给定的正整数 k
  • 【PTA】整除光棍

    一 题目 光棍 说的是全部由1组成的数字 比如1 11 111 1111等 传说任何一个光棍都能被一个不以5结尾的奇数整除 比如 111111就可以被13整除 现在 你的程序要读入一个整数x 这个整数一定是奇数并且不以5结尾 然后 经过计算
  • PTA 7-4 统计学生平均成绩与及格人数 (15 分)

    本题要求编写程序 计算学生们的平均成绩 并统计及格 成绩不低于60分 的人数 题目保证输入与输出均在整型范围内 输入格式 输入在第一行中给出非负整数N 即学生人数 第二行给出N个非负整数 即这N位学生的成绩 其间以空格分隔 输出格式 按照以
  • Basic Level 1016 部分A+B (15分)

    题目 正整数 A A A的 D A D A DA 为1位整数 部分 定义为由 A
  • 福到了(15 分)

    L1 6 福到了 15 分 福 字倒着贴 寓意 福到 不论到底算不算民俗 本题且请你编写程序 把各种汉字倒过来输出 这里要处理的每个汉字是由一个 N N 的网格组成的 网格中的元素或者为字符 或者为空格 而倒过来的汉字所用的字符由裁判指定
  • 7-43 查询水果价格

    给定四种水果 分别是苹果 apple 梨 pear 桔子 orange 葡萄 grape 单价分别对应为3 00元 公斤 2 50元 公斤 4 10元 公斤 10 20元 公斤 首先在屏幕上显示以下菜单 1 apple 2 pear 3 o

随机推荐

  • C++数据结构之静态链表

    1 静态链表的作用 在有些早期的高级语言中 并没有指针概念 所以带有指针域的链表都无法在这些高级语言中使用 于是 出现了用一维数组代替指针来描述单链表 这种一维数组描述的链表就被称为静态链表 用以为数组的方式来表示链表 因此拥有了数组的特性
  • System.ComponentModel.Win32Exception (0x80004005):拒绝访问。——解决办法

    一 问题如下 无法执行程序 所执行的命令为 C Windows Microsoft NET Framework64 v4 0 30319 csc exe noconfig fullpaths C Windows TEMP 二 背景 部署在客
  • Spark on YARN两种运行模式的演示

    前言 前面搭建好了Spark on YARN环境 接下来自然要使用这个集群 发挥它的计算性能 最常规的使用方式就是提交程序 但由于Driver有两种运行方式 导致了Spark on YARN也有两种运行模式 Cluster 集群 和 Cli
  • 图论基础之 图中找环

    对于有向图而言 可以使用拓扑排序的方式找出图中的环 include
  • openwrt生成固件firmware过程

    openwrt生成固件firmware过程 https blog csdn net viewsky11 article details 53097672 由于想看看生成各个文件系统格式文件的过程 所以在Target Images中把ext4
  • [网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例

    最近开始学习网络安全相关知识 接触了好多新术语 感觉自己要学习的东西太多 真是学无止境 也发现了好几个默默无闻写着博客 做着开源的大神 准备好好学习下新知识 并分享些博客与博友们一起进步 加油 非常基础的文章 大神请飘过 谢谢各位看官 投票
  • 计算机视觉基础(七)—— 一文解析Harris角点检测

    在图像处理领域中 特征点又被称为兴趣点或者角点 它通常具有旋转不变性和光照不变性和视角不变性等优点 是图像的重要特征之一 常被应用到目标匹配 目标跟踪 三维重建等应用中 点特征主要指图像中的明显点 如突出的角点 边缘端点 极值点等等 用于点
  • C#入门代码集25个

    一 从控制台读取东西代码片断 using System class TestReadConsole public static void Main Console Write Enter your name string strName C
  • 小程序的拉流组件live-player的使用

    前言 我们在小程序中实现音视频 直播 录播 的播放时候 会使用到微信官方提供的两个组件 推流组件和拉流组件 这里来分享下他的拉流组件的使用和具体需要注意的点 效果图 1 拉流状态code日志 2 代码使用截图 官方文档 live playe
  • 帮我写爬取考研资料的代码

    我可以提供一些参考代码帮助您爬取考研资料 加载必要的库 import requests from bs4 import BeautifulSoup 设置网址 url http example com exam data 获取网页源代码 re
  • vue动态添加路由,element-admin后台路由

    很多后台项目的菜单都是可配置的 所以需要从后台取到菜单数据并加到路由映射用 1 第一步 将后台数据转换成vue router 需要的数据格式 以下是路由格式 declare type RouteConfig path string 路径 c
  • c/c++编程日记:用C语言实现消消乐游戏(附源码)

    描述 给定一个矩阵 判断移动哪一个格子 可以实现消除 定义连续三个即可消除 分析 先写一个函数 判断包含 i j 的格子是否可能实现消除 然后就是向右向下交换 然后调用上面写好的函数判断 被交换的两个格子是否实现消除 重点 1 只需要向右向
  • 关于IDEA中Spring配置文件中的提示:File is included in 4 contexts

    关于IDEA中Spring配置文件中的提示 File is included in 4 contexts 今天在学习SpringMVC框架的时候 由于web xml中需要绑定Spring的配置文件 在配好Spring的配置文件并运行Tomc
  • DINO-DETR在COCO缩减数据集上实验结果分析

    问题篇 博主在进行DINO DETR模型实验时 使用缩减后的COCO数据集进行训练 发现其mAP值只能达到0 27作用 故而修改了下pycocotool的代码 令其输出每个类别的AP值 来看看是由于什么原因导致这个问题 之所以这样是因为博主
  • springboot-内置Tomcat

    一 springboot的特性之一 基于springboot的特性 自动装配 Configuretion 注解 二 springboot内置Tomcat步骤 直接看SpringApplication方法的代码块 总纲 1 在SpringAp
  • keil出现错误declaration is incompatible

    错误来源 ECAT inc STM32appl h 38 error 147 declaration is incompatible with unsigned shortnPdInputSize declared at line 396
  • java.io.FileNotFoundException: open failed: EROFS (Read-only file system)

    在聊天中发视屏的时候 需要获取视屏某一帧的图片 以文件形式上传给服务器 然后就出了这个错 在确定文件读取权限都有的情况下 那么很可能就是路径不对一看果然 String filePah System currentTimeMillis png
  • MySQL主从同步原理

    主从复制 是用来建立一个和主数据库完全一样的数据库环境 称为从数据库 主数据库一般是准实时的业务数据库 原理 数据库有个bin log二进制文件 记录了所有sql语句 我们的目标就是把主数据库的bin log文件的sql语句复制过来 让其在
  • ZOJ1610 线段树区间计数

    这题和之前的某道区间建立正好相反 给整懵了 题意 给定一个长为 8000 8000 8000的区间 每次染色一定长度的区间 最后问你每种颜色的区间有多少段 题解 注意必须建 8000 8000 8000的树 然后模拟下递归过程 蒟蒻只会这么
  • L2-034 口罩发放 (25 分)

    好恶心的一道题 就因为我把有症状的人用set存 结果一直卡在后三个样例 把我恶心吐了 最后实在没法把set改成vector顺便标记一下看看是否访问过一次 然后就过了 我tm改了接近两个小时 结果就卡在这 include