Вот и наступил долгожданный Юбилей Винни-Пуха. В волшебный лес на праздник собралось множество гостей. В том числе Винни-Пух пригласил к себе друзей из других галактик. К сожалению, когда он посылал приглашения, он совсем забыл, что на планете, где живут его друзья инопланетяне, все читают не слева направо, а справа налево. Винни-Пух понимает, что к Юбилею они уже не прилетят, но медвежонок не унывает. Он хочет проверить, правда ли, что дата его Юбилея, прочитанная справа налево, тоже существует, и инопланетяне прилетят в другой день. Помогите Винни-Пуху определить, ждать ли ему в гости инопланетных друзей.
Входные данные
Входной файл содержит дату Юбилея Винни-Пуха в формате dd.mm.gggg. Гарантируется, что дата корректна.
Выходные данные
В выходной файл нужно вывести YES, если дата, читающаяся справа налево корректна, и NO в противном случае.
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{
string s;
int den, mes, god ;bool k = false ;
cin>>s;
den = (s[9]-'0')*10+(s[8]-'0');
mes = (s[7]-'0')*10+(s[6]-'0');
god = (s[4]-'0')*1000+(s[3]-'0')*100+(s[1]-'0')*10+(s[0]-'0');
if (mes>12) k = 1;
if (((mes==1) ||(mes==3)||(mes==5)||(mes==7)||(mes==8)||(mes==10)||(mes==12))&&(den>31)) k=1;
if (((mes==4)||(mes==6)||(mes==9)||(mes==11))&&(den>30)) k=1;
if((mes==2)&&(den>28)) k=1;
if ((god%4==0) && (mes==2) && (den<=29)) k=0;
if(k==1) cout<<"NO";
else cout<<"YES";
cout<<endl;
return 0;
}
Есть решение которого нет на сайте? Пиши admin@devexe.top