#题外话(第31篇题解)(累了,歇会……)
#先看题目
题目链接https://www.luogu.com.cn/problem/P5716 #思路(看代码)
#代码
代码1:不管三七二十七,直接先判断闰年,有没有用之后再说
#include <bits/stdc++.h>
using namespace std;
int main()
{
int y,m,y1[13]={0,31,29,31,30,31,30,31,31,30,31,30,31},y2[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool ly=0;
//y1为闰年月数,y2为非闰年月数
cin>>y>>m;//输入
if(y%4==0){//四年一闰
if(y%100!=0)ly=1;//百年不闰
else if(y%400==0)ly=1;//四百年又闰
}
if(ly)cout<<y1[m];//分情况输出
else cout<<y2[m];
return 0;
}
代码2:看月份,如果月份是2,再判断是否闰年。因为闰不闰的跟其他月份没关系。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int y,m,y0[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};bool ly=0;
cin>>y>>m;
if(m!=2)cout<<y0[m];//如果不是2月,那就直接确定
else{
if(y%4==0){//四年一闰
if(y%100!=0)ly=1;//百年不闰
else if(y%400==0)ly=1;//四百年又闰
}
if(ly)cout<<29;
else cout<<28;
}
return 0;
}