Problem E: 校庆
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1520 Solved: 574
Description
2017年10月28日是zstu的120周年校庆,撒花,撒花。为此KI决定设计一个程序,来庆祝我们的校庆:
给出某一天的日期year-month-date, 求这一天到2017-10-28还差几天。
Input
第一行有个整数T, 表示测试组数。T≦100。
接下来每个测试组,给出三个数year month date。(1900 <=year <=2017 ), 保证每个日期均合法,并且小于2017-10-28。
Output
对于每个测试组,请输出对应的答案。
Sample Input
1 2017 10 1
Sample Output
27
#include<string> #include<iostream> #include<cstdio> using namespace std; int main(){ int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(int i=1;i<13;i++) a[i]=a[i]+a[i-1]; int sum=2016*365+2016/4-2016/100+2016/400+a[9]+28; int t; cin>>t; while(t--) { int y,m,d; cin>>y>>m>>d; int sum1=(y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400+a[m-1]+d; if((y%4==0&&y%100)||y%400==0) if(m>=3) sum1++; printf("%d\n",sum-sum1); } }