卡住了

//只过了70%
😩


#include<bits/stdc++.h>
using namespace std;
int mday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
bool ft(int y,int m,int d,int mday[],int judge)
{
    if(judge>y*10000+m*100+d) return false;
    if(m<1||m>12) return false;
    if(y%4==0&&y%100!=0||y%400==0)
    {
         mday[1]++;
    }
    if(d>0&&d<=mday[m-1]) return true;
    return false;//暂时
}
int main()
{
    string s_start,s_end;
    cin>>s_start>>s_end;
    int syear=0,fyear=0;
    for(int i=0;i<4;i++)
    {
        syear+=(s_start[i]-'0')*pow(10, 3-i);
        fyear+=(s_end[i]-'0')*pow(10, 3-i);
    }

    int ans=0;
    if(s_start==s_end) syear=fyear;
    while(syear<=fyear)
    {
        bool flag=false;
        int judge=syear*pow(10,4);
        for(int i=0;i<4;i++)
        judge+=((int)(syear/pow(10,3-i))%10)*pow(10,i);
        int year=syear,month,day;
        day=(int)(syear/1000)%10+(int)(syear/100)%10*10;
        month=(int)(syear/10)%10+syear%10*10;


        if(ft(year,month,day,mday,judge)) ans++;
        syear++;
    }
    cout<<ans;
    return 0;
}
全部评论

相关推荐

07-09 19:25
门头沟学院 Java
这是要把每一个投校招的都开盒吗?
26届之耻将大局逆转:裁人的时候一次性追回餐费
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 17:32
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务