0125 - Day Count
#include <cstdlib> #include <iostream> using namespace std; bool Leap_Year(int year) { if ( !(year%400) || (!(year%4) && year%100) ) return true; return false; } int Get_Sum(int year, int month, int day) { int month_data[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int sum=year*365; for (int i=0; i<year; ++i) sum+=Leap_Year(i); if ( Leap_Year(year) ) ++month_data[1]; for (int i=0; i<month-1; ++i) sum+=month_data[i]; return sum+day; } void Slove(int y1, int m1, int d1, int y2, int m2, int d2) { cout << abs( Get_Sum(y2,m2,d2)-Get_Sum(y1,m1,d1) ) << endl; } int main(void) { int y1, m1, d1, y2, m2, d2; cin >> y1 >> m1 >> d1 >> y2 >> m2 >> d2; while ( !(y1==-1 && m1==-1 && d1==-1 && y2==-1 && m2==-1 && d2==-1) ) { Slove(y1,m1,d1,y2,m2,d2); cin >> y1 >> m1 >> d1 >> y2 >> m2 >> d2; } return 0; }
うるう年判定して合計を絶対値にした。