传送门  http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=3216

时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte

描述

M国的车牌号只有4位,别人都很想要8888,6666,3333等,但是Mr.L很奇怪,他想要4444……

M国的车牌号码颁发制度很简单,按顺序,从0000到9999共10000个号码,他们车也不多,而且随时可能有报废的车车牌号也跟着废弃了。

现在已经知道办理了K个牌照,从0000开始的连续的K个,Mr.L很不爽,由于某些原因,他要M天后才能办理牌照,作为管理员,你已经知道了这M天的牌照预约情况,一共有P条预约信息,预约有2种:

  1. 今天有R个人预约办理牌照,那么会从0000开始找R个空位给与他们牌照;

    2、今天某个牌照要报废,直接把这个位置置空就是了。

3、同一天内,总是先处理报废的事情,再处理新申请的事情。

Mr.L想知道M天后,他想要得牌照还在不在……

输入

第一行包含一个整数T,表示有T组数据

每组数据,第一行包含2个整数K和P,和题目描述一致,其中P<=50。

以下P行每行包含信息格式两种之一:

X N L  表示第X天有L个申请,N是标志字符

X D R  表示第X天有个编号为R的要报废,D是标志字符,保证数据合法。

保证输入数据中天数小的在前面出现,但不保证D一定在N前出现。

输出

处理完了P个预约后,返回4444这个号码还是不是空的,是输出“Yes”,否则输出“No”。

样例输入

2
0 3
5 N 1000
7 N 2000
7 D 1234
4000 3
2 N 446
4 N 1
4 D 4444

样例输出

Yes
No

思路:先把天数一样的按照 D先 N后 的顺序排个序,然后暴力模拟就行了,拿数组记录是否出现过车牌。如果是N 那么for循环遍历0到10000,找到L个位置变为1,如果是D,那么把当前位置的数组值改为0,最后查询a[4444]的值即可

代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define LL long long
using namespace std;
struct note{
char cmd;
int day,id;
}p[];
bool cmp(note x,note y){
if(x.day != y.day) return x.day < y.day;
return x.cmd < y.cmd;
}
int main()
{
int k,t,n;
for(scanf("%d",&t);t--;){
scanf("%d %d",&k,&n);
int a[]={};
for(int i = ; i < k ; i++) a[i] = ;
//初始K天已经被用掉了
for(int i = ; i < n ; i++){
scanf("%d %c %d",&p[i].day,&p[i].cmd,&p[i].id);
}
sort(p,p+n,cmp);
//根据 D先 N后的顺序排序
for(int i = ; i < n ; i++){
if(p[i].cmd == 'N'){
for(int j = ; j <= && p[i].id != ;j++){
if(a[j] == ){
a[j] = ;
p[i].id-=;
}
}//暴力更新
}
if(p[i].cmd == 'D'){
a[p[i].id] = ;
}
}
(!a[])?puts("Yes"):puts("No");
}
}

TOJ3216 我要4444的更多相关文章

  1. HDU 4444 Walk (离散化建图+BFS+记忆化搜索) 绝对经典

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4444 题意:给你一些n个矩形,给你一个起点,一个终点,要你求从起点到终点最少需要转多少个弯 题解:因为 ...

  2. Could not contact Selenium Server; have you started it on 'localhost:4444'

    今天学习selenium RC例子的时候遇到一个问题:java.lang.RuntimeException: Could not contact Selenium Server; have you s ...

  3. 4444: [Scoi2015]国旗计划

    4444: [Scoi2015]国旗计划 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 485  Solved: 232 Description A国 ...

  4. 离散化+BFS HDOJ 4444 Walk

    题目传送门 /* 题意:问一个点到另一个点的最少转向次数. 坐标离散化+BFS:因为数据很大,先对坐标离散化后,三维(有方向的)BFS 关键理解坐标离散化,BFS部分可参考HDOJ_1728 */ # ...

  5. HDU 4444:Walk(思维建图+BFS)***

    http://acm.hdu.edu.cn/showproblem.php?pid=4444 题意:给出一个起点一个终点,给出n个矩形的两个对立顶点,问最少需要拐多少次弯可以从起点到达终点,如果不能输 ...

  6. Jmeter无法监听服务器4444端口

    阿里云服务器开放了4444端口 jmeter还是无法监听: 解决方法: 阿里云安全组添加端口5555 服务器中启动监听插件使用5555端口,使用命令:java -jar ./CMDRunner.jar ...

  7. hdu 4444 Walk (离散化+建图+bfs+三维判重 好题)

    Walk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

  8. bzoj 4444: [Scoi2015]国旗计划

    Description A国正在开展一项伟大的计划--国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这 项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了N名优秀的 ...

  9. scu 4444 Travel

    题意: 一个完全图,有n个点,其中m条边是权值为a的无向边,其它是权值为b的无向边,问从1到n的最短路. 思路: 首先判断1和n被哪种边连通. 如果是被a连通,那么就需要全部走b的边到达n,选择最小的 ...

随机推荐

  1. vue eslint 代码自动格式化

    vue-cli 代码风格为 JavaScript Standard Style 代码检查规范严格,一不小心就无法运行,使用eslint的autoFixOnSave可以在保存代码的时候自动格式化代码 V ...

  2. CSS内容简单总结

    day50 1. 内容回顾 1. 伪类和伪元素        1. 伪类            1. :link            2. :visited            3. :hover ...

  3. vue:一个vue可以使用的视频插件

    网址:https://www.jianshu.com/p/e8e747e33ef0 1:安装依赖 npm install vue-video-player -S 2:引入配置(main.js) imp ...

  4. 尚硅谷springboot学习1-简介

    以前看过springboot的相关知识,当时偷懒没有做笔记,现在忘得已经差不多了,现在趁着过年有时间,再学习一遍,并做下笔记以备忘. 特性 Spring Boot来简化Spring应用开发,约定大于配 ...

  5. 跨域(三)——JSONP

    一.什么是JSONP? 百度百科:JSONP(JSON with Padding)是JSON的 一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 server1. ...

  6. $event Object angularjs

    You can pass the $event object as an argument when calling the function. The $event object contains ...

  7. qurtz.net

    Quartz.NET的使用(附源码)(作者 陈珙)   简介 虽然Quartz.NET被园子里的大神们写烂了,自己还是整理了一篇,结尾会附上源码地址. Quartz.NET是一款功能齐全的开源作业调度 ...

  8. 【剑指offer】单链表尾部插入一个节点

    #include <iostream> using namespace std; //链表结构体 struct ListNode { int m_Value; ListNode *next ...

  9. iframe多窗口

    Window 对象 浏览器会在其打开一个 HTML 文档时创建一个对应的 window 对象.但是,如果一个文档定义了一个或多个框架(即,包含一个或多个 frame 或 iframe 标签),浏览器就 ...

  10. jQuery添加添加时间与时间戳相互转换组件

    时间与时间戳的格式相互转换(转换主要兼容ie8,ie8不支持new Date()) (function($) { $.extend({ myTime: { CurTime: function () { ...