Input
输入是一个字符串,根据实际情况,一般一行输入不会太长,我们规定串的长度<=256。根据国家标准,合格的日期是
YYYYMMDD或者YYYY-MM-DD,我们还可以扩展一下,如果把公元前的年份为负数,那么-YYYYMMDD和-YYYY-MM-DD
也算为合格输入,同时规定此时输出加前缀“BC ”,为了使问题简化,特别是简化闰年的计算,我们规定年份的绝对值不超
过9999。本问题是多组测试数据。
Output
输出给定日期的向后一天或者“Error !”。输出时都按照“-”作为分隔符。
Sample Input
2015-03-31
12345678
Sample Output
2015-04-01
Error !
#include<bits/stdc++.h>
using namespace std;
int d[15]={
0,31,0,31,30,31,30,31,31,30,31,30,31};
const int MAXN=505;
char s[MAXN];
int MM,YY,DD;
bool is_leap(int x)
{
return (x%4==0&&x%100!=0)||x%400==0;
}
bool isdate()
{
if(YY==0)return false;
if(YY>0)
{
d[2]=is_leap(YY)?29:28;
}
else
{
d[2]=is_leap(YY+1)?29:28;
}
if(MM<1||MM>12)return false;
if(DD<1||DD>d[MM])