首页 > 其他 > 详细

济南学习 Day1 T1 am

时间:2016-11-07 09:42:16      阅读:143      评论:0      收藏:0      [点我收藏+]

题意:给你两个日期,问这两个日期差了多少毫秒

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<ctime>
 4 #include<iostream>
 5 #define ll long long
 6 using namespace std;
 7 int mth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
 8 ll solve(){
 9     int Y=0,M=0,D=0,h=0,m=0,s=0;
10     scanf("%d-%d-%d %d:%d:%d",&Y,&M,&D,&h,&m,&s);
11     Y-=2000;
12     ll ans=365*Y;
13     ans+=(Y+3)/4;// 处理闰年
    // 比如2003年,Y-=2000 然后Y=3 (3+3)/4==1 即只有2000年一个闰年
14 for(int i=1;i<M;i++) ans+=mth[i]; 15 ans+=(!(Y%4)&&M>2)?1:0; 16 ans+=D; 17 ans*=86400; 18 ans+=(h*60+m)*60+s; 19 return ans; 20 } 21 int main(){ 22 freopen("two.in","r",stdin); 23 freopen("two.out","w",stdout); 24 ll s1=solve(); 25 ll s2=solve(); 26 printf("%I64d%s\n",s2-s1,s2-s1?"000":""); 27 return 0; 28 }

思路:见代码。。

注意:我计算的秒,如果两个时间不相等,需要在末尾多输出“000”,如果相等直接输出0

 

济南学习 Day1 T1 am

原文:http://www.cnblogs.com/suishiguang/p/6037405.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!