洛谷-P1424 小鱼的航程(改进版)
洛谷-P1424 小鱼的航程(改进版)
题目背景
原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题。
题目描述
有一只小鱼,它平日每天游泳250公里,周末休息(实行双休日),假设从周x(1≤x≤7)开始算起,过了n(n≤\(10^6\))天以后,小鱼一共累计游泳了多少公里呢?
输入格式
输入两个整数x,n(表示从周x算起,经过n天)。
输出格式
输出一个整数,表示小鱼累计游泳了多少公里。
输入输出样例
输入 #1
3 10
输出 #1
2000
C++代码
#include <iostream>
using namespace std;
int main() {
int x,n,i,d,sum=0;
cin>>x>>n;
for(i=0;i<n;++i)
{
d=(i+x)%7;
if(d!=6&&d!=0)
sum+=250;
}
cout<<sum<<endl;
return 0;
}
题解
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int x, n;
cin >> x >> n;
int d = n / 7 * 5; // 整周的工作日数
int r = n % 7;
if (r > 0) // 有剩余天数
{
if (r + x == 7 || x == 7) //如开始为周日肯定只休息一天;如r+x==7即最后一天为周六,也休息一天
r -= 1;
else if (r + x >= 8) //最后一天已过周日,休息两天
r -= 2;
}
cout << (d + r) * 250 << endl;
return 0;
}