题目1096:日期差值

来源:互联网 发布:mt4软件使用视频教程 编辑:程序博客网 时间:2024/05/17 13:10

#include <iostream>#include <stdio.h>#include <algorithm>#include <math.h>#include <string>#include <string.h>#include <vector>#include <queue>#include <stack>#include <sstream>#include <climits>#include <cstring>using namespace std;//1096int month[][14]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int isRun(int n){    return (n%400==0 || (n%4==0&&n%100!=0))?1:0;}int cnt(int y,int m,int d){    int s=0;    for(int i=1;i<y;i++)        if(isRun(i)==1)            s+=366;        else            s+=365;    int f=isRun(y);    for(int i=1;i<m;i++)        s+=month[f][i];    s+=d;    return s; }int main(){    int y1,y2,m1,m2,d1,d2;    //freopen("input.txt","r",stdin);    while(scanf("%04d%02d%02d",&y1,&m1,&d1)!=EOF){        scanf("%04d%02d%02d",&y2,&m2,&d2);        int ans=cnt(y1,m1,d1)-cnt(y2,m2,d2);        if(ans<0) ans=-ans;            printf("%d\n",ans+1);    }    return 0;}/**************************************************************    Problem: 1096    User: cust123    Language: C++    Result: Accepted    Time:0 ms    Memory:1520 kb****************************************************************/


0 0
原创粉丝点击