首页 > 代码库 > 济南学习 Day1 T1 am
济南学习 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。