洛谷 P1424 小鱼的航程(改进版)
题目背景
题目描述
有一只小鱼,它平日每天游泳 250 250 250 公里,周末休息(实行双休日),假设从周 x x x 开始算起,过了 n n n 天以后,小鱼一共累计游泳了多少公里呢?
输入格式
输入两个正整数 x , n x,n x,n,表示从周 x x x 算起,经过 n n n 天。
输出格式
输出一个整数,表示小鱼累计游泳了多少公里。
样例 #1
样例输入 #1
3 10
样例输出 #1
2000
提示
数据保证, 1 ≤ x ≤ 7 1\le x \le 7 1≤x≤7, 1 ≤ n ≤ 1 0 6 1 \le n\le 10^6 1≤n≤106。
#include <iostream>
using namespace std;
int x, n, day, temp;
int main() {
cin >> x >> n;
if (x == 6 || x == 7) n = n - (8 - x); // 如果是周末开始那么总天数要减去这周的无效天数,有可能是1天,也有可能是2天
else day = 6 - x, n = n - (2 + day); // 不是周日则要加上当前这周的有效天数,并且减去周六日
day += (n / 7) * 5; // 有多少周
temp = n % 7; // 最后的一周剩下多少天
day += (temp == 6 ? 5 : temp); // 只有余6的情况是没法直接相加的,单独判断
cout << day * 250; // 乘上每天可以游的距离就可以了
return 0;
}