zoukankan      html  css  js  c++  java
  • hdu 1201 18岁生日

    //拼凑思想   多的少的由第一年和最后一年补回 
    //注意:月>2月,第一年是闰年,减一天;18年是闰年,加一天
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<string>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    bool isleapyear(int y){
        if(y%400==0||(y%100!=0&&y%4==0)){
           return true;
        }
        return false;
    }
    int main()
    {
        int t;
        string s;
        cin>>t;
        int sum;
        while(t--){
            cin>>s;
            int y=(s[0]-'0')*1000+(s[1]-'0')*100+(s[2]-'0')*10+s[3]-'0';
            int m=(s[5]-'0')*10+s[6]-'0';
            int d=(s[8]-'0')*10+s[9]-'0';
            if(m==2&&d==29){
                cout<<-1<<endl;
            }
            else{
                int i=0;
                sum=0;
                for(;i<18;i++){
                    if(isleapyear(y)){
                        sum+=366;
                    }
                    else{
                        sum+=365;
                    }
                    y++;
                }
                if(isleapyear(y-18)&&m>2){
                        sum--;
                }
                else{
                    if(isleapyear(y)&&m>2){
                       sum++;
                }
                }
                cout<<sum<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    kvm
    docker及lvs负载
    zookeeper,及k8s基础概念
    zabbix-proxy及ELK
    gitlab及jenkins
    绘图 Matplotlib Numpy Pandas
    Elasticsearch
    Git命令小结
    win黑窗口命令
    Linux基础命令
  • 原文地址:https://www.cnblogs.com/Deribs4/p/4270321.html
Copyright © 2011-2022 走看看