• 牛客网比赛水题


    链接:https://www.nowcoder.com/acm/contest/115/B
    来源:牛客网

    给出一个出生日期,比如:1999-09-09,
    问:从出生那一天开始起,到今天2018-04-21为止(包括出生日期和今天),有多少天,年月日都不包含数字4?

    输入描述:

    第一行输入一个整数T(表示样例个数)
    接下来T组样例
    每个样例一行,包含一个字符串“yyyy-mm-dd”(1990<=yyyy<=2018)
    题目保证测试数据的正确性

    输出描述:

    输出题意要求的天数

    示例1

    输入

    1
    1999-09-09

    输出

    5020
    思路:注意特殊情况就可以了

    代码:

    #include<stdio.h>
    #define ll long long
    int s[15]={0,28,25,28,0,28,27,28,28,27,28,27,28};
    char tm[15];
    int check(int n)
    {
      if(n%400==0||(n%4==0&&n%100!=0))
      return 1;
      return 0;
    }
    int main()
    {
      int t;
      scanf("%d",&t);
      while(t--)
      {
        getchar();
        int n,y,r;
        int i,j;
        ll sum=0;
        ll sum1=0;
        scanf("%s",tm);
        n=(tm[0]-'0')*1000+(tm[1]-'0')*100+(tm[2]-'0')*10+tm[3]-'0';
        y=(tm[5]-'0')*10+tm[6]-'0';
        r=(tm[8]-'0')*10+tm[9]-'0';
        //printf("%d %d %d ",n,y,r);
        for(i=1;i<y;i++)
        sum1+=s[i];
        if(y!=4)
        for(i=1;i<=r;i++)
        if(i!=4&&i!=14&&i!=24)
        sum1++;
        if(r==4||r==14||r==24)//注意日数位4,14,24的特殊情况
        sum1++;
        //printf("%d ",sum1);
        if(n==2018)
        {
          sum=81-sum1+1;
        }
        else
        {
          sum+=81;
          for(i=n+1;i<2018;i++)
          {
            if(i!=1994&&i!=2004&&i!=2014)
            {
              if(check(i))
              sum+=303;
              else
              sum+=302;
              //printf("%d ",i);
            }
            //printf("%d ",sum);
          }
          if(n!=1994&&n!=2004&&n!=2014)
          {
            if(check(n)&&y<=2)
            sum+=303-sum1+1;
            else
            sum+=302-sum1+1;
          }
        }
        printf("%lld ",sum);
      }
      return 0;
    }

  • 相关阅读:
    hihocoder 1489(微软2017, 数学,模拟)
    图论——迪杰斯特拉算法(Dijkstra)实现,leetcode
    DFS,BFS 练习(深搜,广搜,图,leetcode)
    什么是渗透测试?黑客安全专家郭盛华这样说
    为什么印度容易遭受网络黑客攻击?
    郭盛华年收入5000万是真的吗?
    警方突袭德国间谍软件公司
    苹果推出首款5G手机,相机功能比单反还要牛?
    苹果推出iPhone 12,价格比你想象中更实惠
    韩国AI半导体技术,为何能问鼎世界第一?
  • 原文地址:https://www.cnblogs.com/cglongge/p/8902800.html
Copyright © 2020-2023  润新知