题解
2023-07-07 20:42:31
发布于:江苏
7阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=1e6+9;
bool vis[maxn];
int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int solve(int M,int D){
int ans=0;
for(int i=1;i<M;i++) ans+=m[i];
ans+=D;
return ans;
}
int main() {
int k;
char Q;
cin>>k>>Q;
int day=365;
if(Q=='Y') m[2],day;
int n;
cin>>n;
for(int i=0;i<n;i++){
int M,D,L;
cin>>M>>D>>L;
int start=solve(M,D);
for(int j=0;j<L;j++) vis[start+j]=1;
}
k%=7;
int ans=0;
for(int i=1;i<=day;i++){
if(vis[i]){
if(k2&&i>1&&!vis[i-1]) ans++;
if(k4&&i+1<=day&&!vis[i+1]) ans++;
}
k++;
k%=7;
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个