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