B3655 [语言月赛202208] 天天爱跑步 题解
此题是一道比噶家还简单的模拟题
思路:
首先要说明一下连续签到天数才会累加,开始我就因为这个而爆零。
输入 时不用 地输,直接 就可以,不要被邪恶的出题人迷惑了双眼。
及时你签到时时连续签到天数不是 、、、、 但大于最低界限,也可以加活跃值(像 这样也会加连续签到1天的活跃值)。
然后……
直接模拟即可。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int n,v[1145141],c,hyz;//c是连续签到的天数,hyz是活跃值
bool f[1145141];
int main(){
cin>>n;
for(int i=1;i<=6;i++){
cin>>v[i];
}
for(int i=1;i<=n;i++){
cin>>f[i];
if(f[i]==1)
c++;
else c=0;//如果这天没签到,连续签到中断
if(c>=1&&c<3)
hyz+=v[1];
else if(c>=3&&c<7)
hyz+=v[2];
else if(c>=7&&c<30)
hyz+=v[3];
else if(c>=30&&c<120)
hyz+=v[4];
else if(c>=120&&c<365)
hyz+=v[5];
else if(c>=365)
hyz+=v[6];
}
cout<<hyz;
return 0;//完结撒花
}

浙公网安备 33010602011771号