杭电 HDU 1201 18岁生日

#include<iostream>using namespace std;int main(){int T;cin>>T;int year ,mouth,day;char ch1,ch2;while(T–){int sum=0;int flag=0;cin>>year>>ch1>>mouth>>ch2>>day;for(int k=year;k<=year+18;k++){if((k%4==0&&k%100!=0)||(k%400)==0){if(mouth==2&&day==29){cout<<-1<<endl;flag=1;break;}if(k==year){if(mouth==2)sum+=29-day;else if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12)sum+=31-day;elsesum+=30-day;for(int j=mouth+1;j<=12;j++){if(j==1||j==3||j==7||j==8||j==10||j==12||j==5)sum+=31;else if(j==2)sum+=29;elsesum+=30;}}else if(k==year+18){for(int r=1;r<mouth;r++){if(r==1||r==3||r==7||r==8||r==10||r==12||r==5)sum+=31;else if(r==2)sum+=29;elsesum+=30;}sum+=day;}elsesum+=366;}else{if(k==year){if(mouth==2)sum+=28-day;else if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12)sum+=31-day;elsesum+=30-day;for(int j=mouth+1;j<=12;j++){if(j==1||j==3||j==7||j==8||j==10||j==12||j==5)sum+=31;else if(j==2)sum+=28;elsesum+=30;}}else if(k==year+18){for(int t=1;t<mouth;t++){if(t==1||t==3||t==7||t==8||t==10||t==12||t==5)sum+=31;else if(t==2)sum+=28;elsesum+=30;}sum+=day;}elsesum+=365;}}if(flag!=1)cout<<sum<<endl;}return 0;}

,别想一下造出大海,必须先由小河川开始。

杭电 HDU 1201 18岁生日

相关文章:

你感兴趣的文章:

标签云: