宜兰县网站建设_网站建设公司_测试上线_seo优化
2026/1/16 14:47:21 网站建设 项目流程

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:B4260 [GESP202503 二级] 时间跨越 - 洛谷 (luogu.com.cn)

【题目描述】

假设现在是y yym mmd ddh hh时而k kk小时后是y ′ y'ym ′ m'md ′ d'dh ′ h'h时,对于给定的y , m , d , h , k y,m,d,h,ky,m,d,h,k,小杨想请你帮他计算出对应的y ′ , m ′ , d ′ , h ′ y',m',d',h'y,m,d,h是多少。

【输入】

输入包含五行,每行一个正整数,分别代表y , m , d , h , k y,m,d,h,ky,m,d,h,k

【输出】

输出四个正整数,代表y ′ , m ′ , d ′ , h ′ y',m',d',h'y,m,d,h

【输入样例】

2008 2 28 23 1

【输出样例】

2008 2 29 0

【算法标签】

《洛谷 B4260 时间跨越》 #分支结构# #GESP# #2025#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;inty,m,d,h,k;// 定义变量:年、月、日、小时、增加的小时数intmonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};// 每月的天数intmain(){// 输入初始日期和时间cin>>y>>m>>d>>h>>k;// 判断是否为闰年,如果是则2月有29天if(y%4==0&&y%100!=0||y%400==0)month[2]=29;// 计算增加k小时后的时间inth1=(h+k)%24;// 新小时数intd1=d+(h+k)/24;// 新天数(可能超过当月天数)// 处理天数超过当月天数的情况if(d1>month[m]){d1=d1-month[m];// 减去当月天数m++;// 月份加1}// 处理月份超过12的情况if(m>12){y++;// 年份加1m=1;// 月份重置为1月}// 输出新的日期和时间cout<<y<<" "<<m<<" "<<d1<<" "<<h1<<endl;return0;}

【运行结果】

2008 2 28 23 1 2008 2 29 0

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询