提交记录 #513
提交时间:2024-12-18 16:50:15
语言:c
状态:Unaccepted
编译情况:编译成功
固定测试点#1:
固定测试点#2:
固定测试点#3:
固定测试点#4:
固定测试点#5:
固定测试点#6:
固定测试点#7:
额外测试点#2:
54【日期】车辆限行
#include<stdio.h>
int leap_year( int );
int year_days( int );
int days(int, int, int);
int main() {
int y1=2012, m1=4, d1=9, y2, m2, d2, n1, n2, k, i,g,m;
scanf("%d %d %d", &y2, &m2, &d2);
n1 = days(y1, m1, d1);
n2 = days(y2, m2, d2);
if (y1 == y2) {
k = n2 - n1;
} else {
n1 = year_days(y1) - n1;
for (i = 2; i <= y2 - y1; i++) {
n1 += year_days(y1 + i - 1);
}
k = n1+n2;
}
g = (k)/7/13;
m = (k)%7;
if(y2==2013&&m2==4&&(d2==8||d2==9||d2==10)) printf("%d and %d.\n",(7+m-3)%5+1,(((7+m-3)%5+6)==10)?((7+m-3)%5+-4):((7+m-3)%5+6));
else if(m==6||m==5) printf("Free.\n");
else printf("%d and %d.\n",(7+m-g)%5+1,(((7+m-g)%5+6)==10)?((7+m-g)%5+-4):((7+m-g)%5+6));
}
int leap_year( int year ) {
return ( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ) ? 1 : 0;
}
int year_days(int year) {
return leap_year( year ) ? 366 : 365;
}
int days( int year, int month, int day ) {
int months[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, i;
if ( leap_year( year ) && month > 2 )
day++;
for ( i = 1; i < month; i++ )
day += months[i];
return day;
}