#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <stack>
using namespace std;
const int inf=0x3f3f3f3f;
struct yinli{
int m,d;
}yl[5];
int y,m,d,t,sum;
int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
bool year(int k){
if(k%4==0&&k%100!=0||k%400==0) return true;
return false;
}
bool judge(int m,int d){
for(int i=0;i<4;i++){//阴历判断
int tm=yl[i].m,td=yl[i].d;
if(m==tm&&d==td) return true;
if(i==0){
for(int j=1;j<=2;j++){
int md=month[tm-1];
if(sum==366&&tm==2) md=29;
if(td==md){
td=1;
tm++;
}else td++;
if(m==tm&&d==td) return true;
}
}
}
if((m==1&&d==1)||(m==5&&d==1)||(m==12&&d==25)) return true;
if(m==10&&(d==1||d==2||d==3)) return true;
return false;
}
int main(){
scanf("%d",&y);
for(int i=0;i<4;i++)
scanf("%d%d",&yl[i].m,&yl[i].d);
scanf("%d",&t);
m=1,d=1;
sum=365;
if(year(y)) sum=366;
int ans=0;
for(int i=0;i<sum;i++){
if(t==6||t==7||judge(m,d)){
ans++;
//printf("[%d]%d-%d:%d\n",ans,m,d,t);
}
if(t==7) t=1;
else t++;
int tm=month[m-1];
if(sum==366&&m==2)
tm=29;
if(d==tm){
d=1;
m++;
}else d++;
}
printf("%d\n",ans);
return 0;
}
/*
2017
1 28
4 4
5 30
10 4
7
*/
日期计算 节假日 一年有多少天放假
最新推荐文章于 2024-08-22 17:44:02 发布