济南学习 Day1 T1 am
Posted り挽歌、花开花落的流年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了济南学习 Day1 T1 am相关的知识,希望对你有一定的参考价值。
题意:给你两个日期,问这两个日期差了多少毫秒
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的主要内容,如果未能解决你的问题,请参考以下文章