问题 C: 天数

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:415 通过:121

题目描述

小艳昨晚梦见了一位老人,老人告诉她在她第20个生日时她的白马王子将会出现,她很想知道,从今天开始算还要过几天她的白马王子才会出现,但是她总是算不清楚,所以今天一大早就找到了你——传说中的电脑高手,想请你帮她写个程序,告诉她答案。



#include<bits/stdc++.h>
using namespace std;
int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int by,bm,bd,ey,em,ed;
int ans=0;

int isRun(int y){
if(y%4==0&&y%100!=0 || y%400==0)return 1;
else return 0;
}
int main(){
//2018 4 5
    //2009 12 12 
cin>>by>>bm>>bd>>ey>>em>>ed;
by=by+19;
for(int i=1;i<bm;i++)ans+=mon[i];
for(int i=em+1;i<=12;i++)ans+=mon[i];
ans+=bd;ans+=mon[em]-ed;

for(int i=ey+1;i<by;i++){
ans+=365;
if(isRun(i))ans++;
}
if(isRun(by)&&bm>2)ans++;
if(isRun(ey)&&em<=2)ans++;

cout<<ans;
return 0;
}

输入格式

共两行:

       第一行3个数,Y0,M0,D0数与数之间用空格隔开,分别为小艳的出生年月日(即第一个生日)

       第二行3个数,Y,M,D数与数之间用空格隔开,分别为今天的年月日

输出格式

 仅包含一行,即从几天开始到白马王子,需要经过的天数

输入1

1992 12 5
2009 12 5

输出1

730


输入2

2089 2 28
2093 2 27

输出2

5478

输入样例 复制

1999 4 5
2009 12 12

输出样例 复制

3036

数据范围与提示

【数据规模】

 

100%的数据,1≤Y0,Y≤3000

保证输入的日期合法

保证答案为正

 

【样例说明】

 

        第20个生日即2018年4月5日

分类标签