【题目来源】
https://www.luogu.com.cn/problem/P1424
【题目描述】
有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周 x 开始算起,过了 n 天以后,小鱼一共累计游泳了多少公里呢?
【输入格式】
输入两个正整数 x,n,表示从周 x 算起,经过 n 天。
【输出格式】
输出一个整数,表示小鱼累计游泳了多少公里。
【数据范围】
1≤x≤7,1≤n≤10^6。
【算法代码一】
#include <bits/stdc++.h>
using namespace std;
long long ans;
int main() {
int x;
long long n;
cin>>x>>n;
for(int i=0; i<n; i++) {
if((x!=6)&&(x!=7)) ans+=250;
if(x==7) x=1;
else x++;
}
cout<<ans;
return 0;
}
/*
in:
7 543543
out:
97061250
in:
7 10
out:
1750
*/
【算法代码二】
#include <bits/stdc++.h>
using namespace std;
long long ans=0;
int main() {
int wx;
long long n;
cin>>wx>>n;
int firwd=5-wx+1; //first week days
if(firwd<0) firwd=0;
int leftdays=n-(7-wx+1); //left days
if(leftdays>0) {
int weekcnt=leftdays/7;
int weekmod=leftdays%7;
if(weekmod>5) weekmod=5;
ans=weekcnt*5+weekmod+firwd;
} else {
ans=n<firwd?n:firwd; //wx+n in the same week
}
ans=ans*250;
cout<<ans;
return 0;
}
/*
in:
7 543543
out:
97061250
in:
7 10
out:
1750
*/
【参考文献】
https://blog.csdn.net/weixin_43029346/article/details/128817979