mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-10-17 21:42:25 +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