1 solutions

  • 0
    @ 2025-11-5 17:41:54

    C :

    #include<stdio.h>
    int main()
    {
        //freopen("111.txt","r",stdin);
        //freopen("111out.txt","w",stdout);
        int a[13] = {0, 31, 28, 31,30,31,30,31,31,30,31,30, 31};
        int year1, month1, day1, year2, month2, day2, i, sum;
        while(scanf("%d%d%d%d%d%d",&year1,&month1,&day1,&year2,&month2,&day2) != EOF)
        {
            sum = a[month1] - day1;
            for(i = month1 + 1; i <= 12; i++)
            {
                if(i == 2 && ((year1 % 4 == 0 && year1 % 100 != 0) || (year1 % 400 == 0)))
                {
                    sum += 29;
                    continue;
                }
                sum += a[i];
            }
            for(i = year1 + 1; i < year2; i++)
            {
                if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
                    sum += 366;
                else
                    sum += 365;
            }
            sum += day2;
            for(i = 0; i < month2; i++)
            {
                if(i == 2 && ((year2 % 4 == 0 && year2 % 100 != 0) || (year2 % 400 == 0)))
                {
                    sum += 29;
                    continue;
                }
                sum += a[i];
            }
            printf("%d\n",sum);
        }
        return 0;
    }
    
    

    C++ :

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<queue>
    #include<math.h>
    #define M(i,n,m) for(int i = n;i < m;i ++)
    #define L(i,n,m) for(int i = n;i >= m;i --)
    #define N(n,m) memset(n,m,sizeof(n));
    const int MAX = 10010;
    
    using namespace std;
    
    int aa[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    
    int is(int i)
    {
        if((i%4 == 0 && i % 100 != 0)||(i % 400 == 0))
            return 1;
        return 0;
    }
    
    int main()
    {
        int a,b,c,x,y,z;
        while(~scanf("%d%d%d%d%d%d",&a,&b,&c,&x,&y,&z))
        {
            int sum;
            sum = (x - a) * 365;
            for(int i = a; i < x; i ++)
                if(is(i))
                    ++ sum;
            int t = c;
            for(int i = 1; i < b; i ++)
                t += aa[i];
            if(is(a) && b > 2)
                t ++;
            sum -= t;
            t = z;
            for(int i = 1; i < y; i ++)
                t += aa[i];
            if(is(x) && y > 2)
                t ++;
            sum += t;
            printf("%d\n",sum);
        }
        return 0;
    }
    
    
    
    • 1

    Information

    ID
    18592
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By