竞赛讨论区 > 卡住了
头像
HappyMonkey686
发布于 2021-11-07 23:27
+ 关注

卡住了

//只过了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;
}

全部评论

(0) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐