mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-12-17 04:33:02 +00:00
feat: 添加日期验证逻辑解决P5690问题
实现日期格式验证功能,根据输入的月份和日期判断其有效性,并输出相应的验证结果。主要处理了月份和日期的各种边界情况,包括非法月份、非法日期以及特殊月份的天数验证。
This commit is contained in:
parent
eded996d6b
commit
25605159cc
41
src/9/27/P5690.cpp
Normal file
41
src/9/27/P5690.cpp
Normal 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";
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user