思路:首先判断是否为闰年,确定二月份的天数,然后设立一个sum数组存放每个月份天数的相加和,设立flag为结束循环标志。
#include<bits/stdc++.h>
using namespace std;
int n,m;
int days[13]={31,28,31,30,31,30,31,31,30,31,30,31};
bool flag=true;
bool JudgeR(int x){
if((x%400==0)||(x%4==0&&x%100!=0)){
return true;
}
}
int main(){
cin>>n>>m;
if(JudgeR(n)){
days[1]=29;
}
int sum[13];
memset(sum,0,sizeof(sum));
int mon,da;
for(int i=1;i<=12;i++){
for(int j=i;j>0;j--){
sum[i]+=days[j];
}
if(sum[i]>=m&&flag==true){
mon=i;
da=m-sum[i-1];
flag=false;
}
}
cout<<mon<<endl<<da;
return 0;
}
但是测评只有30分,可能是边界出了问题?还在查验中