思路:按题意判断+模拟。
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
int main()
{
int y,d,month=0,day,dd=0;
cin>>y>>d;
int flag=(y%4==0 && y%100)||y%400==0;
while(dd+a[flag][month]<d)
dd+=a[flag][month++];
day=d-dd;
cout<<month+1<<endl<<day<<endl; //+1是因为month从0开始算的
return 0;
}