NOIOpenjudge 1.13--08特殊日历计算
Description
-
有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的。它每天有10个小时,每个小时有100分钟,每分钟有100秒。10天算一周,10周算一个月,10个月算一年。现在要你编写一个程序,将我们常用的日历法的日期转换成这种特殊的日历表示法。这种日历法的时、分、秒是从0开始计数的。日、月从1开始计数,年从0开始计数。秒数为整数。假设 0:0:0 1.1.2000 等同于特殊日历法的 0:0:0 1.1.0。
-
Input
-
第一行是一个正整数 N ,表明下面有 N 组输入。每组输入有一行,格式如下:hour:minute:second day.month.year 表示常规的日期。日期总是合法的。2000 <= year <= 50000。
-
Output
-
每组输入要求输出一行。格式如下:mhour:mmin:msec mday.mmonth.myear 是输入日期的特殊日历表示方法。
-
Sample Input
-
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
-
Sample Output
-
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
-
Source
-
2210
解析:看到这个题目,其实不难思考到这道题目的本质,就是在例子中寻找规律。
首先
题目中第一句话就提到“它的一天和我们现在用的日历法的一天是一样长的”,所以在“年”“月”“日”是不需要考虑转化的,只需要将输入的日期中的总天数计算出来,再根据特殊日历的规则转化就可以了。
其次
本题的重点就是“时”“分”“秒”的转化,那么又要来思考一下第一句话的意思了“它的一天和我们现在用的日历法的一天是一样长的”,可以打一个很恰当的比喻,把两个日历中的一天比喻成两根等长的线段,在我们平常的日历中把这根线段分成86400(24*3600)等份;而在这个特殊日历中把这根线段分成100000(10*100*100)等份,所以在编程过程中要将总秒数/0.864,然后下取整,再来计算。
所以
本题中最要理解就是第一句话“它的一天和我们现在用的日历法的一天是一样长的”,能够理解正确,题目自然能解决了。
#include<bits/stdc++.h> using namespace std; int a[100],yue[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},pp,ans=0; int main() { cin>>pp; for(int o=1;o<=pp;o++) { char ch; ans=0; cin>>a[1]>>ch>>a[2]>>ch>>a[3]>>a[4]>>ch>>a[5]>>ch>>a[6];//读入 for(int i=2000;i<a[6];i++) if(i%400==0||(i%100!=0&&i%4==0)) ans++; if(a[6]%400==0||(a[6]%100!=0&&a[6]%4==0)) yue[2]=29;else yue[2]=28;//判断闰年 a[6]-=2000; ans+=a[6]*365; for(int i=1;i<=a[5]-1;i++) ans+=yue[i]; ans+=a[4]-1;//计算到总天数 int myear=0,mmonth=0,mday=0; myear=ans/1000; ans%=1000; mmonth=ans/100+1; mday=ans%100+1; ans=a[1]*3600+a[2]*60+a[3];//计算到总秒数 double aans=(double)ans/0.864;//处理总秒数 ans=floor(aans); int mhour=0,mmin=0,msec=0; mhour=ans/10000; ans%=10000; mmin=ans/100; msec=ans%100; cout<<mhour<<':'<<mmin<<':'<<msec<<' '<<mday<<'.'<<mmonth<<'.'<<myear; cout<<endl; } }
-
-
总Time Limit: Memory Limit:
-
1000ms 65536kB
NOIOpenjudge 1.13--08特殊日历计算相关推荐
- OpenJudge NOI 1.13 08:特殊日历计算
[题目链接] OpenJudge NOI 1.13 08:特殊日历计算 [题目考点] 1- 取模运算 [解题思路] 我们用的是现实日历,题目中设定的是特殊日历,两种历法的一天是一样长的.也就是说两种历 ...
- GMT时间格式转换(Mon Feb 13 08:00:00 GMT+08:00 2012)
普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小 ...
- UA MATH524 复变函数13 补充:留数计算的例题
UA MATH524 复变函数13 补充:留数计算的例题 概念与公式总结 例题 pole的留数公式 Laurent级数法 概念与公式总结 孤立奇点类型与判断 假设z0z_0z0是复变函数fff的孤立 ...
- matlab中计算运行时间的函数,【谁能都我一个计算时间的函数?是计算:例如上午08:00...-计算时间的函数-数学-伊凡渴同学...
概述:本道作业题是伊凡渴同学的课后练习,分享的知识点是计算时间的函数,指导老师为干老师,涉及到的知识点涵盖:[谁能都我一个计算时间的函数?是计算:例如上午08:00...-计算时间的函数-数学,下面是 ...
- 169_技巧_Power BI 依据促销日历计算销售金额
169_技巧_Power BI 依据促销日历计算销售金额 一.背景 在各位表格表姐们计算销售金额的时候,有一个绕不开的问题:商品有促销的问题,需要使用对应的促销价来计算销售额. 按照惯例还是先来看看结 ...
- java 日历计算农历和节假日的常用类(包括除夕的算法)
最近在写日历,发现很多开源的常用的日历根本不能显示出除夕这个节日,所以在github上找到一个计算出大部分农历之后修改了一下,这里科普下,除夕有可能是29,也有可能是30,中国农历一个月只有29天或者 ...
- java 日历计算农历和节假日的常用类
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import ja ...
- OpenJudge百炼-2967-特殊日历计算-C语言-日期处理
描述: 有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的.它每天有10个小时,每个小时有100分钟,每分钟有100秒.10天算一周,10周算一个月,10个月算一年.现在要你编写一个程序 ...
- 日历计算(C++类实现)
type1:实现某年某月某日往前或往后N天后日历的输出. type2:实现两个日期之间相差天数的计算. #include <iostream> using namespace std;in ...
最新文章
- 本科生连发数篇SCI,你的第一篇SCI发表了吗?
- 【风控策略】大数据风控策略逻辑
- POJ 1061 BZOJ 1477 Luogu P1516 青蛙的约会 (扩展欧几里得算法)
- 人工智能学习--文本识别实践-tesseract-ocr
- Extjs 4.1 学习笔记(二)(panel 自适应高度)
- C#校验身份证(15位、18位)
- java 记住密码的实现_javaweb实现记住密码功能
- Android webview网页截取长图
- phpcms 允许英文目录有空格
- uniapp仿网易云音乐项目(发布小程序、H5和安卓App)
- FPGA学习笔记(七): DSB调制解调的仿真
- 进制详解:二进制、八进制和十六进制
- 【看好了】如何使用fiddler实现手机抓包,Filters过滤器!
- 台式计算机网卡型号怎么查找,台式机无线网卡如何查看型号
- 动物科学可以转计算机专业吗,报考华中农业大学计算机,被调剂到动物科学,真不该盲目服从...
- CAD引线标注文字大小怎么调整?
- Docker镜像上传到DockerHub和阿里容器仓库
- Tomcat服务器日志打印
- esp32录音功能开发_【安信可ESP32语音开发板专题①】ESP32-A1S音频开发板之离线语音识别控制LED灯...
- JIRA 的中文设置
热门文章
- 阿里研发:核心系统--中间件--阿里云--yunOS介绍
- 3.1 设备管理员 一键锁屏
- 手绘与码绘————让画面动起来!
- 二十四种设计模式之代理模式
- 计算机在化学中的应用视频教学,计算机多媒体在中学化学中的应用
- 数据分析工具实例:通过数据展示对转基因食品的思考
- 【QT】《Qt5.9 C++开发指南》在桌面上放个伊芙利特
- 吸烟(抽烟)检测和识别2:Pytorch实现吸烟(抽烟)检测和识别(含吸烟(抽烟)数据集和训练代码)
- 用这个模型,学会系统性成长
- 劝大家趁早摆脱低水平努力