feat: 添加日期验证逻辑解决P5690问题

实现日期格式验证功能,根据输入的月份和日期判断其有效性,并输出相应的验证结果。主要处理了月份和日期的各种边界情况,包括非法月份、非法日期以及特殊月份的天数验证。
This commit is contained in:
Zengtudor 2025-09-27 16:44:47 +08:00
parent eded996d6b
commit 25605159cc

41
src/9/27/P5690.cpp Normal file
View File

@ -0,0 +1,41 @@
#include <cstdint>
#include <ios>
#include <iostream>
using ll = int64_t;
const ll md[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
ll m,d;
char c;
std::cin>>m>>c>>d;
if(12<m || m<1){
if(1<=d && d<=28){
std::cout<<"1\n";
}else{
if(m<20){
if(1<=d && d<=31){
std::cout<<"1\n";
}else{
std::cout<<"2\n";
}
}else{
if(m%10<=2){
std::cout<<"1\n";
}else{
if(1<=d && d<=md[m%10]){
std::cout<<"1\n";
}else{
std::cout<<"2\n";
}
}
}
}
}else if(1<=d && d<=md[m]){
std::cout<<"0\n";
}else{
std::cout<<"1\n";
}
}