基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题

鲨鱼巨巨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

大暴力题
妈的终于A了。。
我屮艸芔茻。。
屠龙宝刀点击就送
#include <algorithm>
#include <cstdio>
#include <cctype>
#define N 100005
using namespace std;
inline void Read(int &x)
{register char ch=getchar();for(x=0;!isdigit(ch);ch=getchar());for(;isdigit(ch);x=x*10+ch-'0',ch=getchar());
}
struct node
{int y0,m0,d0,y1,m1,d1,x;bool operator<(node a)const{return x<a.x;}
}Joob[N];
struct nodee
{int y,m,d;
}Query[N];
int Que[N],h=0,cnt=0,n,m;
int main(int argc,char *argv[])
{scanf("%d",&n);for(int i=1;i<=n;++i){Read(Joob[++cnt].y0);Read(Joob[cnt].m0);Read(Joob[cnt].d0);Read(Joob[cnt].y1);Read(Joob[cnt].m1);Read(Joob[cnt].d1);Read(Joob[cnt].x);if(Joob[cnt].y0>Joob[cnt].y1) cnt--;else if(Joob[cnt].m0+1==Joob[cnt].m1&&Joob[cnt].d0>Joob[cnt].d1&&Joob[cnt].y0==Joob[cnt].y1) cnt--;else if(Joob[cnt].m0==Joob[cnt].m1&&Joob[cnt].y0==Joob[cnt].y1) cnt--;else if(Joob[cnt].y0+1==Joob[cnt].y1&&Joob[cnt].m0==12&&Joob[cnt].m1==1&&Joob[cnt].d0>Joob[cnt].d1) cnt--;}sort(Joob+1,Joob+1+cnt);scanf("%d",&m);for(int i=1;i<=m;++i) Read(Query[i].y),Read(Query[i].m),Read(Query[i].d);for(int i=1;i<=m;++i){for(int j=1;j<=cnt;++j){if(Joob[j].y0==Query[i].y&&Joob[j].m0==Query[i].m&&Joob[j].d0==Query[i].d) Que[++h]=Joob[j].x;else if(Joob[j].y1==Query[i].y&&Joob[j].m1==Query[i].m&&Joob[j].d1==Query[i].d) Que[++h]=Joob[j].x;else if(Joob[j].y0<Query[i].y&&Query[i].y<Joob[j].y1) Que[++h]=Joob[j].x;else{bool flag=0;if(Joob[j].y0==Query[i].y){if(Joob[j].m0<Query[i].m&&Query[i].m<Joob[j].m1) Que[++h]=Joob[j].x,flag=1;else if(Joob[j].m0==Query[i].m&&Joob[j].d0<=Query[i].d) Que[++h]=Joob[j].x,flag=1;else if(Joob[j].y1>Query[i].y&&((Joob[j].m0<Query[i].m)||(Joob[j].m0==Query[i].m&&Joob[j].d0<=Query[i].d))) Que[++h]=Joob[j].x,flag=1;}if(Joob[j].y1==Query[i].y&&!flag){if(Joob[j].m0<Query[i].m&&Query[i].m<Joob[j].m1) Que[++h]=Joob[j].x;else if(Joob[j].m1==Query[i].m&&Joob[j].d1>=Query[i].d) Que[++h]=Joob[j].x;else if(Query[i].y>Joob[j].y0&&((Joob[j].m1>Query[i].m)||(Joob[j].m1==Query[i].m&&Joob[j].d1>=Query[i].d))) Que[++h]=Joob[j].x;}}}printf("%d",h);for(int p=1;p<=h;++p) printf(" %d",Que[p]);h=0;printf("\n");}return 0;
}

转载于:https://www.cnblogs.com/ruojisun/p/7591922.html

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

  1. 51nod 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小学 【 扫描线 】

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

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

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

  5. 1631 小鲨鱼在51nod小学

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

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

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

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

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

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

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

  9. 小鲨鱼在51nod小学

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

最新文章

  1. 改变完成工作的方式压力的效果
  2. UIKit框架使用总结--看看你掌握了多少
  3. python版本升级及pip部署方法
  4. SQLAlchemy 使用经验
  5. Go基础--goroutine和channel
  6. PHP的$_FILES
  7. matlab字母随机排列,matlab实现1n整数的一个随机排列
  8. 【JavaWeb】XML和Jsoup的相关内容
  9. 20190626_二次开发BarTender打印机_C#代码_一边读取TID_一边打印_打印机POSTEK
  10. 苹果系统安装python环境_如何在mac下配置python虚拟环境
  11. 整数反转Java_详解 LeetCode_007_整数反转(Java 实现)
  12. 【洛谷P1800】software_NOI导刊2010提高(06)
  13. java web外文文献_JAVAWeb外文文献毕业设计.doc
  14. 八卦掌桩功-定式八桩及相关资料
  15. 天龙八部荣耀版体验服服务器未响应,《天龙八部荣耀版》创新竖版手游官网-合区来了!体验服合区测试解析...
  16. matlab求偏迹,矩阵的偏迹
  17. 2023真无线蓝牙耳机怎么选?值得入手的蓝牙耳机推荐
  18. 包包的结构制图_原来可以用R这么画基因结构图
  19. IIS的安装、配置与测试
  20. Proteus简单入门教程以及使用Proteus仿真STM32F103单片机和Arduino单片机

热门文章

  1. 计算机视觉论文-2021-07-08
  2. 机器学习如何用于芯片系统设计?《机器学习系统芯片设计》
  3. 一文带你读懂Self-Supervised Learning(自监督学习)
  4. python获得字符出现频率,并用字典保存;获得字典最大value对应的key值
  5. 人工智能数学基础-python数值计算实战
  6. 深度学习与TensorFlow: VGG论文笔记
  7. 单用户修改root密码--Ubuntu 16.04.3 LTS
  8. gc的原因 频繁full_Java性能优化要点之:GC垃圾回收知识点整理
  9. java培训学费_零基础Java培训大概多少钱
  10. mysql禁止自动优化_MySQL必须调整的10项配置优化