zoukankan      html  css  js  c++  java
  • 牛客网比赛水题

    链接: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;
    }

  • 相关阅读:
    测试面试题
    订单怎么测试?(主要测试订单的状态变化)
    还款功能怎么测试?
    登录功能怎么测试?
    apache配置详解与实践
    apache的安装
    linux系统优化(关闭SElinux、防火墙)
    linux网络配置
    linux的日志管理
    python的xlwt模块
  • 原文地址:https://www.cnblogs.com/cglongge/p/8902800.html
Copyright © 2011-2022 走看看