| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 86818 | 贾子煜 | 2020 | C++ | Wrong Answer | 40 MS | 196 KB | 1315 | 2024-07-28 11:26:34 |
#include<stdio.h> #include<string.h> int ishui(int n){//判断是否为回文数 int tem=n; int flag=1; int num=10000000; while(n!=0){ if(n/num!=n%10){flag=0;} n/=10; num/=10; n%=num; num/=10; } tem/=10000; if(tem/1000==tem/10%10 && tem/100%10==tem%10 && flag)flag=2; return flag; } int judgedate(int n){//判断日期是否有效 int tem=n; int flag=1; int day[12]={31,28,31,30,31,30,31,31,30,31,30,31}; n/=10000; if(tem/100%100<=0 || tem/100%100>12)flag=0; if(n%4==0 && n%100 != 0 || n%400==0) { if(tem%100>=29)flag=0; } else{ if(tem/100%100>0 && tem/100%100<=12){ if(day[tem/100%100-1]<=tem%100)flag=0; } } return flag; } int main(){ int year,i,count1=0,count2=0; scanf("%d",&year); i=year+1; while(count1<1){//枚举终止条件之一,只需一个回文日期 if(ishui(i)!=0 && judgedate(i)){ printf("%d\n",i); count1++;} i++; } i-=1; while(count2<1){//枚举终止条件2,日期为回文数且有固定格式 if(ishui(i)==2 && judgedate(i)){ printf("%d",i); count2++;} i++; } return 0; }
------Input------
2121
------Answer-----
YES
------Your output-----
11000 1011010