八十分代码求助大佬

P2010 [NOIP2016 普及组] 回文日期

忆盏呀 @ 2019-08-20 11:07:27

// luogu-judger-enable-o2
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    long long n,m,i;
    int a,b,c,x,y,z,j,k;
    int sb1,sb2,ans=0;
    int s[1005];
    cin>>n>>m;
    for(i=n;i<=m;i++)
    {
        a=i/10000000;
        b=i/1000000%10;
        c=i/100000%10;
        x=i/10000%10;
        y=i/1000%10;
        z=i/100%10;
        j=i/10%10;
        k=i%10;
        sb1=10*y+z;
        sb2=10*j+k;
        if(a==k&&b==j&&c==z&&x==y&&sb1<=12&&sb1>=1&&sb2<=31&&sb2>=1) ans++;

    }
    cout<<ans;

}

by X_WT @ 2019-08-20 11:12:57

@忆盏呀 为什么不枚举每一个合法日期,从1月1日枚举到12月31,反推年份,然后判断整个数是不是在范围里呢……

2月29特殊处理就好


by 忆盏呀 @ 2019-08-20 11:15:31

@X_WT 谢谢啊,我去试一下


by 忆盏呀 @ 2019-08-20 11:31:56

@X_WT 谢谢大佬我AC了


by X_WT @ 2019-08-20 11:33:19

@忆盏呀 不用谢~


|