08:特殊日历计算

提示      noi里面用 // 屏蔽代码可能会导致各种奇葩的错误,所以大家注意注意哈。(还有记得不要把y1当做变量名,会编译错误)

这道题目,由题可知,两种日历一天的时间是一定的。

还有就是,年月日的月和日是从1开始计数的计算天数时注意计算原天数时要减去1,而计算特殊日历时要加1。

描述
有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的。它每天有10个小时,每个小时有100分钟,每分钟有100秒。10天算一周,10周算一个月,10个月算一年。现在要你编写一个程序,将我们常用的日历法的日期转换成这种特殊的日历表示法。这种日历法的时、分、秒是从0开始计数的。日、月从1开始计数,年从0开始计数。秒数为整数。假设 0:0:0 1.1.2000 等同于特殊日历法的 0:0:0 1.1.0。
输入
第一行是一个正整数 N ,表明下面有 N 组输入。每组输入有一行,格式如下:hour:minute:second day.month.year
表示常规的日期。日期总是合法的。2000 <= year <= 50000。
输出
每组输入要求输出一行。格式如下:mhour:mmin:msec mday.mmonth.myear 是输入日期的特殊日历表示方法。
样例输入
7
0:0:0 1.1.2000
10:10:10 1.3.2001
0:12:13 1.3.2400
23:59:59 31.12.2001
0:0:1 20.7.7478
0:20:20 21.7.7478
15:54:44 2.10.20749
样例输出
0:0:0 1.1.0
4:23:72 26.5.0
0:8:48 58.2.146
9:99:98 31.8.0
0:0:1 100.10.2000
0:14:12 1.1.2001
6:63:0 7.3.6848
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int run(int y)
{if((y%4==0 && y%100!=0) || y%400==0) return 29;else return 28;
}
int main()
{int n;cin>>n;for(int k=1;k<=n;k++){int h,m,s,day,mon,year;char c;cin>>h>>c>>m>>c>>s>>day>>c>>mon>>c>>year;int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int day0=0;for(int i=2000;i<=year-1;i++){int year0=365+run(i)-28;day0+=year0;}month[2]=run(year);for(int i=1;i<=mon-1;i++) day0+=month[i];day0+=day-1;year=day0/1000;day0=day0%1000;mon=day0/100;day0=day0%100;day=day0;mon++;day++;int sec=0;sec=h*3600+m*60+s;sec=sec/0.864;h=sec/10000;sec=sec%10000;m=sec/100;sec=sec%100;s=sec;cout<<h<<":"<<m<<":"<<s<<" "<<day<<"."<<mon<<"."<<year<<endl;}
}

1.13 08特殊日历计算相关推荐

  1. OpenJudge NOI 1.13 08:特殊日历计算

    [题目链接] OpenJudge NOI 1.13 08:特殊日历计算 [题目考点] 1- 取模运算 [解题思路] 我们用的是现实日历,题目中设定的是特殊日历,两种历法的一天是一样长的.也就是说两种历 ...

  2. GMT时间格式转换(Mon Feb 13 08:00:00 GMT+08:00 2012)

    普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小 ...

  3. UA MATH524 复变函数13 补充:留数计算的例题

    UA MATH524 复变函数13 补充:留数计算的例题 概念与公式总结 例题 pole的留数公式 Laurent级数法 概念与公式总结 孤立奇点类型与判断 假设z0z_0z0​是复变函数fff的孤立 ...

  4. matlab中计算运行时间的函数,【谁能都我一个计算时间的函数?是计算:例如上午08:00...-计算时间的函数-数学-伊凡渴同学...

    概述:本道作业题是伊凡渴同学的课后练习,分享的知识点是计算时间的函数,指导老师为干老师,涉及到的知识点涵盖:[谁能都我一个计算时间的函数?是计算:例如上午08:00...-计算时间的函数-数学,下面是 ...

  5. 169_技巧_Power BI 依据促销日历计算销售金额

    169_技巧_Power BI 依据促销日历计算销售金额 一.背景 在各位表格表姐们计算销售金额的时候,有一个绕不开的问题:商品有促销的问题,需要使用对应的促销价来计算销售额. 按照惯例还是先来看看结 ...

  6. java 日历计算农历和节假日的常用类(包括除夕的算法)

    最近在写日历,发现很多开源的常用的日历根本不能显示出除夕这个节日,所以在github上找到一个计算出大部分农历之后修改了一下,这里科普下,除夕有可能是29,也有可能是30,中国农历一个月只有29天或者 ...

  7. java 日历计算农历和节假日的常用类

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import ja ...

  8. OpenJudge百炼-2967-特殊日历计算-C语言-日期处理

    描述: 有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的.它每天有10个小时,每个小时有100分钟,每分钟有100秒.10天算一周,10周算一个月,10个月算一年.现在要你编写一个程序 ...

  9. 日历计算(C++类实现)

    type1:实现某年某月某日往前或往后N天后日历的输出. type2:实现两个日期之间相差天数的计算. #include <iostream> using namespace std;in ...

  10. NOIOpenjudge 1.13--08特殊日历计算

    Description 有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的.它每天有10个小时,每个小时有100分钟,每分钟有100秒.10天算一周,10周算一个月,10个月算一年.现在 ...

最新文章

  1. linux用户及用户组管理
  2. Redhat Enterprise linux 5 的安装
  3. simulink中不能改名_《和平精英》没有卡如何解决 改名字方法
  4. 6.29 Vue 第二天 学习笔记
  5. python中与label类似的控件是_Python高级进阶教程021期 pyqt5label控件进阶使用,设置兄弟控件,广告植入...
  6. 数据结构之图:有向图的拓扑排序,Python代码实现——26
  7. OD调试2----破解序列号验证程序
  8. 中标麒麟7.0+linux内核版本,中标麒麟7.0下载
  9. 【kali】WLAN识别
  10. 【nmon】nmon :服务器监控数据采集
  11. wps转ppt怎么转换?通过这些方法学会wps如何转换成ppt
  12. 四种最常见路由协议 RIP、IGRP、OSPF和EIGRP。
  13. 下载安装cygwin/X
  14. C语言——PTA 埃尔米特多项式
  15. wince博客名人堂
  16. SQLyog中如何导入mysql数据库
  17. java 轻量级 job_oxygen: 一个轻量级Java框架,包含ioc、aop、config、cache、job、Jdbc、web等...
  18. 写给永动机接触者的一封信
  19. 音频编辑软件Goldwave v6.68中文版,goldwave 2022最新版怎么来消除人声
  20. PDF转WORD工具 Solid Converter PDF v9.1.6744

热门文章

  1. 关于ISI、SCI、EI、IEEE、Elsevier、Springer的区别
  2. 解决Tortoise git没有红色、绿色勾勾的问题
  3. Linux epoll 实现封装
  4. PPT中如何插入页码和母版修改
  5. word批量设置图片大小和对齐,使用宏定义
  6. 软件智能:aaas系统中AI众生的“世”和“界” 之11 认知水平的假想supposition
  7. LiveData的postValue与setValue多次调用问题
  8. js制作动态图片时钟
  9. java扫码枪对接支付宝,支付宝扫码枪如何应用?
  10. No code “EPSG:4326“ from authority “EPSG“