这里是标题

P2010 [NOIP2016 普及组] 回文日期

JeffWang2019 @ 2019-10-26 09:42:16

70分求助

SOS

#include <bits/stdc++.h>
using namespace std;
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int s,e;
int cnt=0;
bool leap(int x)
{
    if(x%4==0 && x%100!=0 || x%400==0)
    {
        return true;
    }
    else
    {
        return false;
    }
}
bool palin(int n)
{
    int s=0;
    int k=n;
    while(n!=0)
    {
        s=s*10+n%10;
        n/=10;
    }
    if(s==k)
    {
        return true;
    }
    else
    {    
        return false;
    }
}
int main()
{
    scanf("%d%d",&s,&e);
    if(s==e)
    {
        if(palin(s))
        {
            printf("1");
        }
        else
        {
            printf("0");
        }
        return 0;
    }
    if(s<=10011001)
    {
        if(e>=92900929)
        {
            printf("331");
            return 0;
        }
        s=10011001;
    }
    int year=s/10000,month=s/100%100,date=s%100;
    int y1=e/10000;
    while(year<y1)//逐个判断
    {
        if(year*10000+month*100+date<92900929)
        {
            break;
        }
        if(leap(year))
        {
            m[2]=29;
        }
        else
        {
            m[2]=28;
        }
        if(palin(s))
        {
            date++;
            cnt++;
        }
        if(date>m[month])//过去一个月
        {
            date=1;
            month++;
        }
        if(month>12)//过去一年
        {
            month=1;
            year++;
        }
    }
    printf("%d",cnt);
    return 0;
}

wa了最后3个点


by Inkyo @ 2019-10-26 09:49:18

你最后三个点输出的都是0

(评测告诉我的,至于为什么我也不知道别问我qaq)


by JeffWang2019 @ 2019-10-26 09:52:04

@Inkyo墨攸 那你过来是干啥的


by Inkyo @ 2019-10-26 10:24:14

@JeffWang2019 我不能过来看看吗?

再说了,程序错误输出0也是一个可用的信息好吗?


by Inkyo @ 2019-10-26 10:24:49

你态度有问题啊


by JeffWang2019 @ 2019-10-26 10:30:38

@Inkyo墨攸 我只想知道哪里出错了……


by Lvansh @ 2019-11-03 15:28:25

https://www.luogu.org/space/show?uid=219935


|