hdu_1201:18岁生日

来源:互联网 发布:电信4g网络不支持短信 编辑:程序博客网 时间:2024/04/30 06:14

http://acm.hdu.edu.cn/showproblem.php?pid=1201

#include <stdio.h>int isyear(int x){if ( (x%400==0)||(x%100!=0&&x%4==0) ){return 1;}elsereturn 0;}int dayofmonth[13][2]={        0,0,31,31,                  28,29,                  31,31,30,30,31,31,                              30,30,31,31,31,31,30,30,31,31,30,30,31,31,};struct E {int day,month,year;void nextday(){day++;if (day>dayofmonth[month][isyear(year)]){day=1;month++;}if (month>12){month=1;year++;}}};int buf[3000][13][32];int main(){E tmp;tmp.day=1;tmp.month=1;tmp.year=0;int cnt=0;while (tmp.year!=3000){buf[tmp.year][tmp.month][tmp.day]=cnt;tmp.nextday();cnt++;}int n,y,m,d;while (scanf("%d",&n)!=EOF){while (n--){scanf("%4d-%2d-%2d",&y,&m,&d);if (isyear(y)){if (m==2&&d==29){if (!isyear(y+18)){printf("-1\n");continue;}}}int x=buf[y+18][m][d]-buf[y][m][d];printf("%d\n",x);}}return 0;}


原创粉丝点击