online_judge_1096

来源:互联网 发布:淘宝店怎么退出保证金 编辑:程序博客网 时间:2024/05/16 04:57
#include <iostream>using namespace std;int a[5001][13][32];int m[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};struct T{    int year;    int month;    int day;    bool operator < (const T & t)const    {        if(year != t.year)            return year < t.year;        if(month != t.month)            return month < t.month;        if(day != t.day)            return day < t.day;    }    int operator - (const T & t)const    {        return a[year][month][day] - a[t.year][t.month][t.day];    }};void init(){    int i,j,k;    int f;    int cnt = 1;    for(i=1; i<5001; ++i)    {        if((i%4==0 && i%100!=0) || i%400==0)            f = 1;        else            f = 0;        for(j=1; j<13; ++j)        {            for(k=1; k<=m[j]; ++k)            {                a[i][j][k] = cnt++;            }            if(j==2 && f==1)                a[i][j][m[2]+1] = cnt++;        }    }}T Tran(int n){    T t;    t.year = n/10000;    t.month = (n%10000)/100;    t.day = n%100;    return t;}int main(){    int n,m;    T t1,t2;    init();    int ans;    while(cin>>n>>m)    {        t1 = Tran(n);        t2 = Tran(m);        ans = t1-t2;        if(ans < 0)            ans = -1*ans;        ans++;        cout<<ans<<endl;    }    return 0;}

 

这个题目跟之前求星期一样的思想……

0 0
原创粉丝点击