文章图片
文章图片
//
#include
using namespace std;
#define is_leap(y) ( y%4==0 && y%100 || y%400==0 )
// 123456789 10 11 12
const int month_day[]={ 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int year,month,day;
inline bool f( const string& s )// 不可以连等
{
if( s[0]==s[2] && s[1]==s[3] )// 已满足回文
return true;
return false;
}
// ABAB BA BA
// 0101 10 10
// 0123 45 67bool error()// true is error
{// month==0 || day==0 (x)
if( !( month>=1 && month<=12 ) ) return true;
int t=month_day[month];
if( is_leap(year) ) t++;
if( !( day>=1 && day<=t ) ) return true;
return false;
}int main()
{
stringstream ss;
string s,t;
int n,flag;
while( cin>>n )
{
flag=1;
while( n++ ) // ( a=="0" || b=="0" )
{
year=n/10000;
month=n%10000/100;
day=n%100;
if( error() ) continue;
ss.clear();
ss.str("");
ss<>s;
string re=s;
// 直接用翻转函数判等
reverse( re.begin(),re.end() );
if( re==s )
{
if( flag ) { cout<
【蓝桥杯_题库|蓝桥杯_回文日期【第十一届】【省赛】【B组】_日期问题】
推荐阅读
- acwing|【蓝桥杯】1246. 等差数列*
- 蓝桥杯学习|【第十三届蓝桥杯单片机省赛冲刺-巩固练习3】
- 蓝桥|2021年第十二届蓝桥杯省赛试题回顾 python组
- 蓝桥杯真题省赛2021|蓝桥杯 2021省赛 python 路径
- #|2017年蓝桥杯省赛-承压计算
- 蓝桥杯|2017年蓝桥杯省赛B组C++真题
- 蓝桥杯|2017年蓝桥杯省赛B组Java真题
- 2017年蓝桥杯省赛包子凑数
- 蓝桥杯真题|2017年蓝桥杯C/C++ B组省赛题目汇总及部分题解