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;
    }
  • 相关阅读:
    Unity资源打包之Assetbundle
    集社交与金融为一体,平安天下通怎样推动互联网金融创新?
    json和pickle模块
    sys模块
    os模块
    random模块
    datetime模块
    time模块
    logging模块

  • 原文地址:https://www.cnblogs.com/Deribs4/p/4270321.html
Copyright © 2011-2022 走看看