一、问题链接
CSP 201509-2 日期计算
二、参考代码
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
vector<ll> v {31,28,31,30,31,30,31,31,30,31,30,31};
vector<ll> sum(12);
ll y,d;
cin>>y>>d;
if((y%4==0 and y%100!=0) or y%400==0) {
v[1]=29;
}
partial_sum(v.begin(),v.end(),sum.begin());
auto p=find_if(sum.begin(),sum.end(),
[d](const ll &a) {
return a>=d;
});
ll ansm,ansd;
ansm=p-sum.begin()+1;
ansd=v[p-sum.begin()]-(sum[p-sum.begin()]-d);
cout<<ansm<<"\n"<<ansd;
return 0;
}