问题标题: 酷町堂:1422 回文日期

0
0

0
已采纳
郑天羽
郑天羽
初级守护
初级守护

你可以枚举年份,也可以枚举日期,我这个是枚举年份
int mon[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int f(int xox){//判断日期是否合法
    if(xox/100>12){
        return 0;
    }
    if(xox/100==0){
        return 0;
    }
    if(xox%100>31){
        return 0;
    }
    if(mon[xox/100]<xox%100){
        return 0;
    }
    return 1;
}
int huiwen(int xox){//求出回文日期
    return (xox%10)*1000+(xox/10%10)*100+(xox/100%10)*10+xox/1000;
}
int main(){
    int m,n,cnt=0;
    cin>>m>>n;
    int nianm=m/10000;
    int niann=n/10000;
    for(int i=nianm;i<=niann;i++){//枚举年份
        if(f(huiwen(i))&&10000*i+huiwen(i)>=m&&10000*i+huiwen(i)<=n){
            cnt++;       

        }
    }
    cout<<cnt;

0
我要回答