洛谷-P1424 小鱼的航程(改进版)

洛谷-P1424 小鱼的航程(改进版)

原题链接:https://www.luogu.com.cn/problem/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;
}
posted @ 2020-03-19 09:50  yuzec  阅读(414)  评论(0编辑  收藏  举报