53 lines
782 B
C
53 lines
782 B
C
|
#include <stdlib.h>
|
||
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
int main()
|
||
|
{
|
||
|
|
||
|
|
||
|
char *str;
|
||
|
str = (char*) malloc(12);
|
||
|
scanf("%s",str);
|
||
|
int day=0;
|
||
|
int m=0;
|
||
|
int y=0;
|
||
|
if(str[1]=='.'){
|
||
|
day+=str[0]-48;
|
||
|
m+=(str[2]-48)*10+(str[3]-48);
|
||
|
y+=(str[5]-48)*1000+(str[6]-48)*100+(str[7]-48)*10+str[8]-48;
|
||
|
}
|
||
|
else{
|
||
|
day+=(str[0]-48)*10+(str[1]-48);
|
||
|
m+=(str[3]-48)*10+(str[4]-48);
|
||
|
y+=(str[6]-48)*1000+(str[7]-48)*100+(str[8]-48)*10+str[9]-48;
|
||
|
}
|
||
|
if( (day<0 || day>=31)||(m<0 || m>12)){
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
day+=7;
|
||
|
if(day>31 && m%2!=0){
|
||
|
day-=31;
|
||
|
m++;
|
||
|
}
|
||
|
else if(day>30 && m%2==0){
|
||
|
if(m==2 &&(y%400==0 ||(y%100!=0 && y%4==0))){
|
||
|
day-=29;
|
||
|
}
|
||
|
else{
|
||
|
day-=31;
|
||
|
}
|
||
|
m++;
|
||
|
}
|
||
|
if(m>12){
|
||
|
m-=12;
|
||
|
y++;
|
||
|
}
|
||
|
|
||
|
printf("%d.%d.%d",day,m,y);
|
||
|
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|