首页 > 代码库 > hdu 1201 18岁生日
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;}
hdu 1201 18岁生日
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。