51nod 1631 小鲨鱼在51nod小学
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题
第一行为一个整数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>,代表查询的日期。时间皆合法。
每一次查询输出一行结果。 首先输出一个整数n,代表此时小鲨鱼担任的职务数。(n可以为0) 接下来是n个整数,代表小鲨鱼担任的职务。职务列表保持升序。
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
0 1 222 2 222 333 2 222 333
#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小学相关推荐
- 51nod 1631 小鲨鱼在51nod小学 【线段树--】
1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的 ...
- 51NOD 1631 小鲨鱼在51nod小学 区间线段树
1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依 ...
- 51Nod 1631 小鲨鱼在51Nod小学 【 扫描线 】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1631 题意: 分析: 吐槽:没想到这题n*q暴力都能过~~ 我的做 ...
- 1631 小鲨鱼在51nod小学 暴力
1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依 ...
- 1631 小鲨鱼在51nod小学
1631 小鲨鱼在51nod小学 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学. ...
- 1631 小鲨鱼在51nod小学(线段树区间修改+单点查询:不用下传lazy的区间修改)
题目描述: 1631 小鲨鱼在51nod小学 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务. 每一个职务都有一个起始时间A和结束时间B, ...
- 51Nod——T 1631 小鲨鱼在51nod小学
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1631 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 ...
- 51Nod1631 小鲨鱼在51nod小学
1631 小鲨鱼在51nod小学 1 秒 131,072 KB 20 分 3 级题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务. 每一 ...
- 小鲨鱼在51nod小学
鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务. 每一个职务都有一个起始时间A和结束时间B,意为小鲨鱼在[A, B]时间内,担任了某职务( ...
最新文章
- 改变完成工作的方式压力的效果
- UIKit框架使用总结--看看你掌握了多少
- python版本升级及pip部署方法
- SQLAlchemy 使用经验
- Go基础--goroutine和channel
- PHP的$_FILES
- matlab字母随机排列,matlab实现1n整数的一个随机排列
- 【JavaWeb】XML和Jsoup的相关内容
- 20190626_二次开发BarTender打印机_C#代码_一边读取TID_一边打印_打印机POSTEK
- 苹果系统安装python环境_如何在mac下配置python虚拟环境
- 整数反转Java_详解 LeetCode_007_整数反转(Java 实现)
- 【洛谷P1800】software_NOI导刊2010提高(06)
- java web外文文献_JAVAWeb外文文献毕业设计.doc
- 八卦掌桩功-定式八桩及相关资料
- 天龙八部荣耀版体验服服务器未响应,《天龙八部荣耀版》创新竖版手游官网-合区来了!体验服合区测试解析...
- matlab求偏迹,矩阵的偏迹
- 2023真无线蓝牙耳机怎么选?值得入手的蓝牙耳机推荐
- 包包的结构制图_原来可以用R这么画基因结构图
- IIS的安装、配置与测试
- Proteus简单入门教程以及使用Proteus仿真STM32F103单片机和Arduino单片机
热门文章
- 计算机视觉论文-2021-07-08
- 机器学习如何用于芯片系统设计?《机器学习系统芯片设计》
- 一文带你读懂Self-Supervised Learning(自监督学习)
- python获得字符出现频率,并用字典保存;获得字典最大value对应的key值
- 人工智能数学基础-python数值计算实战
- 深度学习与TensorFlow:	VGG论文笔记
- 单用户修改root密码--Ubuntu 16.04.3 LTS
- gc的原因 频繁full_Java性能优化要点之:GC垃圾回收知识点整理
- java培训学费_零基础Java培训大概多少钱
- mysql禁止自动优化_MySQL必须调整的10项配置优化