为什么第十一个点错了?

P2010 [NOIP2016 普及组] 回文日期

jhlcxoi114514 @ 2023-11-29 21:34:18

#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
int tian[20]={0,31,29,31,30,31,30,31,31,30,31,30,31};
bool check(int n){
    int sum[111],len;
    len=0;
    memset(sum,0,sizeof sum);
    while(n>0){
        sum[++len]=n%10;
        n/=10;
    }
    for(int i=1;i<=len/2;i++){
        if(sum[i]!=sum[len-i+1])
            return 0;
    }
    return 1;
}
int main(){
    cin>>n>>m;
    for(int i=n/10000;i<=m/10000;i++){
        for(int j=1;j<=12;j++){
            for(int k=1;k<=tian[j];k++){
                    if(check(i*10000+j*100+k)){
                        ans++;
                    }
                }   
            }
        }
    cout<<ans;
}

|