[2021.11.14]UPC-计算机2021随堂测验第四场-21235 Problem H 自动找人系统

本文主要是介绍[2021.11.14]UPC-计算机2021随堂测验第四场-21235 Problem H 自动找人系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

maoge现在转到了警局工作,现在他被要求开发一个找人系统。给定三个参数a,b,c,表示年,月,日,表示一个时间节点。他要找出在两个时间节点之间的时间(两个时间节点本身也包括在内)。现在给定两个时间节点和1个时间发生的时间,他要判断这个时间是否在这个时间段之中。

maoge又双叒叕找到了你来帮忙。

输入

输入三行,三个时间,每行有三个数,表示年月日。前两行表示两个时间节点(不一定按照第一个小于第二个的顺序给出),最后一行是这个时间发生的时间。保证合法

输出

输出一个“Yes”或者“No”表示是否在这个时间段之中。

样例输入 Copy

2007 1 1
2007 12 31
2007 3 22

样例输出 Copy

Yes

题解

       其实并没有太困难的地方,就是各种判断写得太绕了,可能是我的方法太过于拙劣。也有同学通过转换为天数的方式来进行判断,分享一下我的做法,抛砖引玉~

        如此简单的目的..---判断事件是否发生在指定时间段,居然需要这么复杂的判断结构..是我的代码写的太过于臃肿杂乱了吗?... sad : (

代码如下 : )

如有纰漏,请多多指正!!

#include <cstdio>
struct t{int y,m,d;
};
int main() {bool flag;t a,b,s,e,h;scanf("%d %d %d",&a.y,&a.m,&a.d);scanf("%d %d %d",&b.y,&b.m,&b.d);scanf("%d %d %d",&h.y,&h.m,&h.d);if(a.y<b.y){    //s为起始时间,e为终止时间,一下判断用来判断a,b两者谁为起始与终止。s=a;e=b;}else if(a.y>b.y) {s = b;e = a;}else{if(a.m<b.m){s=a;e=b;}else if(a.m>b.m){s=b;e=a;}else{if(a.m<b.m){s=a;e=b;}else{s=b;e=a;}}}if(h.y>=s.y&&h.y<=e.y){if(s.y==e.y){if(s.m==e.m){if(h.d>=s.d&&h.d<=e.d){flag=true;}else flag=false;}else{if(h.m>=s.m&&h.m<=e.m){if(h.m==s.m){if(h.d>=s.d)flag=true;elseflag=false;}else if(h.m>s.m&&h.m<s.m)flag=true;else if(h.m==e.m){if(h.d<=e.d)flag=true;elseflag=false;}}else flag = false;}}else if(h.y==s.y){if(h.m==s.m){if(h.d>=s.d){flag=true;}else flag=false;}else if(h.m>s.m){flag = true;}else flag = false;}else if(h.y>s.y&&h.y<e.y)flag = true;else if (h.y==e.y){if(s.m==e.m){if(s.d<=e.d)flag=true;elseflag=false;}else if(s.m<e.m)flag=true;else flag=false;}}else flag=false;if(flag)printf("Yes");elseprintf("No");return 0;
}

这篇关于[2021.11.14]UPC-计算机2021随堂测验第四场-21235 Problem H 自动找人系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903686

相关文章

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp