鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学。并依靠算法方面的特长,在班里担任了许多职务。

每一个职务都有一个起始时间A和结束时间B,意为小鲨鱼在[A, B]时间内,担任了某职务(inclusively)。
现在给定小鲨鱼的职务履历表,你可以高效的给出小鲨鱼在某天担任了哪些职务吗?
p.s. 由于小鲨鱼担任的职务太多,所有任期小于一个自然月的职务都忽略不计。(如1月1日~2月1日为一个自然月,即月份加1)
p.p.s. 输入数据保证小鲨鱼同时不担任超过200种职务。(牛!)
p.p.p.s 输入的日期均为合法日期,范围在2000年01月01日~2999年12月31日。
p.p.p.p.s巨大的输入输出,推荐使用scanf/printf,编译器推荐使用Virtual C++
Input
第一行为一个整数n,代表小鲨鱼担任过N种职务。(1 <= n <= 10^5)
接下来的n行,每一行为七个整数,y0, m0, d0, y1, m1, d1, x。意为在<y0, m0, d0>到<y1, m1, d1>时间内,小鲨鱼担任了职务x。(1 <= x <= 10^9)
给定的时间皆合法,且起始日期小于或等于截止日期。职务x是唯一的。接下来是一个整数q,代表q次查询。(1 <= q <= 10^4)
接下来的q行,每一行为三个整数<y, m, d>,代表查询的日期。时间皆合法。
Output
每一次查询输出一行结果。
首先输出一个整数n,代表此时小鲨鱼担任的职务数。(n可以为0)
接下来是n个整数,代表小鲨鱼担任的职务。职务列表保持升序。
Input示例
4
2000 01 01    2000 01 01    111
2000 01 02    2001 02 02    222
2000 01 28    2000 02 29    333
2000 01 29    2000 02 28    444
4
2000 01 01
2000 01 02
2000 01 28
2000 02 29
Output示例
0
1 222
2 222 333
2 222 333
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#include <stdio.h>
using namespace std;struct Job
{int start;int end;int title;Job(int s, int e, int t){start = s;end = e;title = t;}
};int n;
int y0, m0, d0, y1, m1, d1, x;
int q;
int y, m, d;vector<Job> jobs;
bool jobcmp(const Job &a, const Job &b)
{return a.start < b.start;
}int main()
{scanf("%d", &n);jobs.reserve(n + 1);for (int i = 0; i < n; i++){scanf("%d %d %d %d %d %d %d", &y0, &m0, &d0, &y1, &m1, &d1, &x);int start = y0 * 10000 + m0 * 100 + d0;int end = y1 * 10000 + m1 * 100 + d1;if (end - start >= 100){if (y0 + 1 == y1 && m0 == 12 && m1 == 1 && d1 < d0) {continue;}else{jobs.push_back(Job(start, end, x));}}}sort(jobs.begin(), jobs.end(), jobcmp);scanf("%d", &q);for (int i = 0; i < q; i++){scanf("%d %d %d", &y, &m, &d);int date = y * 10000 + m * 100 + d;vector<int> buf;buf.reserve(n);for (int j = 0; j < jobs.size(); j++){if (date < jobs[j].start){break;}if (date >= jobs[j].start && date <= jobs[j].end){buf.push_back(jobs[j].title);}}sort(buf.begin(), buf.end());printf("%d", buf.size());for (int k = 0; k < buf.size(); k++){printf(" %d", buf[k]);}printf("\n");}return 0;
}
												

小鲨鱼在51nod小学相关推荐

  1. 1631 小鲨鱼在51nod小学 暴力

    1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依 ...

  2. 51nod 1631 小鲨鱼在51nod小学 【线段树--】

    1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的 ...

  3. 51NOD 1631 小鲨鱼在51nod小学 区间线段树

    1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依 ...

  4. 1631 小鲨鱼在51nod小学

    1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学. ...

  5. 51Nod1631 小鲨鱼在51nod小学

    1631 小鲨鱼在51nod小学 1 秒 131,072 KB 20 分 3 级题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务. 每一 ...

  6. 1631 小鲨鱼在51nod小学(线段树区间修改+单点查询:不用下传lazy的区间修改)

    题目描述: 1631 小鲨鱼在51nod小学 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务. 每一个职务都有一个起始时间A和结束时间B, ...

  7. 51nod 1631 小鲨鱼在51nod小学

    基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务. 每一 ...

  8. 51Nod——T 1631 小鲨鱼在51nod小学

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1631 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 ...

  9. 51Nod 1631 小鲨鱼在51Nod小学 【 扫描线 】

    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1631 题意: 分析: 吐槽:没想到这题n*q暴力都能过~~ 我的做 ...

最新文章

  1. python max()_Python Decimal max()用法及代码示例
  2. 分布式概念-分布式事务,并发处理协议
  3. Hello,Word宏!
  4. 怎么判断冠词用a还是an_【语法微课堂】英语冠词的用法,学会这4点,轻松玩转a、an、the...
  5. html编程入门指南,给萌新HTML5 入门指南
  6. android tab pageview,Android Fragment在ViewPager中到底经历了什么?
  7. 图像处理-图像增强(二)
  8. 关于python中 __init__.py
  9. SQL Server中,varchar和nvarchar如何选择
  10. 解决表格里面使用text-overflow后依旧不能隐藏超出的文本
  11. Linux虚拟机出现卡死且无法结束进程的解决办法
  12. 马尔科夫链(Markov Chain),机器学习和人工智能的基石
  13. r420服务器做系统,dell r420服务器 如何安装系统
  14. Python函数初始
  15. Python----凯撒密码、将字符转换成ASCLL函数、将ASCLL码转换成字符函数
  16. 解析产品开发失败的5个根本原因
  17. 玄学:那些年我为之疯狂的超能力(有音频版)
  18. Linux中Python程序CPU占用高排查
  19. 未来是一个三无的世界,三无具体指什么?
  20. 2017 微信公开课PRO版 解读

热门文章

  1. [Usaco2008 Open]Crisis on the Farm 牧场危机
  2. 题目描述:设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?
  3. 教育:构造主义和机能主义
  4. 等待了两年,最终得以如愿,不容易!
  5. 运放如何产生三角波信号
  6. 统计学习理论(张文生)
  7. 二叉树转树(数据结构)(图解)
  8. mysql安装配置cmd_mysql安装配置
  9. 计算机的优缺点英语作文100词,英语作文 电脑的优点和缺点_900字_英语作文
  10. 时序分析(14) GMM (Generalized Method of Moments) with GARCH