Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
2613 | 孙浚轩 | 18岁生日 | C++ | Accepted | 0 MS | 260 KB | 1288 | 2024-01-19 15:35:05 |
#include<iostream> using namespace std; int isleapyear(int x){ if((x%400==0)||(x%4==0)&&(x%100!=0)) return 1; else return 0; } int getmonthdays(int y,int m){ int md; switch(m){ case 1:case 3:case 5:case 7:case 8:case 10:case 12: md=31; break; case 4:case 6:case 9:case 11: md=30; break; case 2: if(isleapyear(y)==1) md=29; else md=28; break; default: md=-1; break; } return md; } int daydifference(int y1,int m1,int d1,int y2,int m2,int d2){ int ds=0; while(y1!=y2||m1!=m2||d1!=d2){ int md=getmonthdays(y1,m1); ds++; d1++; if(d1>md){ d1=1; m1++; if(m1>12){ m1=1; y1++; } } } return ds; } int main(){ int t; cin>>t; while(t--){ int y,m,d; char c1,c2; cin>>y>>c1>>m>>c2>>d; int y2=y+18,m2=m,d2=d; if(m==2&&d==29) cout<<-1<<endl; else cout<<daydifference(y,m,d,y2,m2,d2)<<endl; } return 0; }