oj#135. X天后的日期

运行结果只有80分
感觉逻辑正确 为啥不对呢



```c++
#include <iostream>
using namespace std;
int main()
{
    int x,y,m,day;
    int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};
    int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    cin >> x;
    cin >> y>>m>>day;
    day=day+x;
    if(y%4==0&&y%100!=0||y%400==0)
    {
        while(day>a[m-1]){
        if(y%4==0&&y%100!=0||y%400==0){    
        day=day-a[m-1];
        m++;
        y=y+m/12;
        m=m%12;}
        else {
        day=day-b[m-1];
        m++;
        y=y+m/12;
        m=m%12;
        }
    }
    }
    else 
    {
        while(day>b[m-1]){
        if(y%4==0&&y%100!=0||y%400==0){    
        day=day-a[m-1];
        m++;
        y=y+m/12;
        m=m%12;}
        else {
        day=day-b[m-1];
        m++;
        y=y+m/12;
        m=m%12;
        }
       }
    }
    cout<<y<<" "<<m<<" "<<day;
    return 0;
 }

```