不正经题解 - 模拟
2024-07-22 16:17:46
发布于:上海
29阅读
0回复
0点赞
暴力分类讨论。年份都合法,先从月份开始。
- 1,3,5,7,8,10,12 月:
日期 合法,其它不合法。 - 4,6,9,11 月:
日期 合法,其它不合法。 - 2 月:
如果是闰年,日期 合法,其它不合法。
如果是平年,日期 合法,其它不合法。 - 其它月份:不合法。
判断闰年的依据是:年份是 的倍数且不是 的倍数,或年份是 的倍数。
#include <cstdio>
using namespace std;
int main(){
int y,d,m,r=0;
scanf("%d-%d-%d",&y,&m,&d);
if(d<=0) return puts("YES"),0;
r=y%4==0&&y%100!=0||y%400==0;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
if(d<=31) puts("NO");
else puts("YES");
}else if(m==4||m==6||m==9||m==11){
if(d<=30) puts("NO");
else puts("YES");
}else if(m==2){
if(r){
if(d<=29) puts("NO");
else puts("YES");
}else{
if(d<=28) puts("NO");
else puts("YES");
}
}else puts("YES");
return 0;
}
这里空空如也
有帮助,赞一个