AOJ_0125 Day Count

問題
解法
1年1月1日から何日経過しているかを計算するといい。
この時、フェアフィールドの公式を使うと便利。

#include <cstdio>
using namespace std;

int dc(int y, int m, int d){
	if(m <= 2){
		y--;
		m += 12;
	}
	return 365*y+y/4-y/100+y/400+306*(m+1)/10+d-428;
}
int main(){
	int y1, m1, d1, y2, m2, d2;
	while(scanf("%d %d %d %d %d %d", &y1, &m1, &d1, &y2, &m2, &d2)){
		if(y1==-1||m1==-1||d1==-1||y2==-1||m2==-1||d2==-1) break;
		printf("%d\n", dc(y2,m2,d2)-dc(y1,m1,d1));
	}
	return 0;
}