P1424 小鱼的航程(改进版)

简介: P1424 小鱼的航程(改进版)

题目描述

有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x<=7)开始算起,请问这样过了n天以后,小鱼一共累计游泳了多少公里呢?

输入输出格式

输入格式:

输入两个整数x,n(表示从周x算起,经过n天,n在long int范围内)。

输出格式:

输出一个整数,表示小鱼累计游泳了多少公里。

 

最开始时候的做法,

方法很简单,算出有多少周(n/7),然后判断剩下的日子工作了多少天。

#include <iostream>
int main()
{
  int x, n;
  std::cin >> x >> n;
  int d = n / 7 * 5;
  int r = n % 7;
  if (r > 0) 
  {
    if (r + x == 7) 
      r -= 1;
    else if (r + x >= 8) 
      r -= 2;
  }
  std::cout << (d + r) * 250 ;
  return 0;
}

结果提交测试时候出现了一个错误,

在看了别人的答案后发现了问题---计算剩下的日子中工作日子出现了问题。

对于周1~周6,原来的方法是没有问题的,

但是周7时,就会出错。原因是周7的时候r不能-2,因为此时周6已经过去了,不能再向前面一样减去周6.

将周7作为特例考虑,周7时,r-=1,(减去周日即可)。

  if (r > 0) 
  {
    if (r + x == 7 || x == 7) 
      r -= 1;
    else if (r + x >= 8) 
      r -= 2;
  }


相关文章
|
6月前
|
算法
算法刷题(二十二):宝石与石头
算法刷题(二十二):宝石与石头
67 0
【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】
【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】
|
4月前
|
算法 开发者 Python
惊呆了!Python算法设计与分析,分治法、贪心、动态规划...这些你都会了吗?不会?那还不快来学!
【7月更文挑战第10天】探索编程巅峰,算法至关重要。Python以其易读性成为学习算法的首选。分治法,如归并排序,将大问题拆解;贪心算法,如找零问题,每步求局部最优;动态规划,如斐波那契数列,利用子问题解。通过示例代码,理解并掌握这些算法,提升编程技能,面对挑战更加从容。动手实践,体验算法的神奇力量吧!
72 8
|
4月前
|
算法 开发者 Python
惊!Python算法界的三大神器:分治法、贪心算法、动态规划,让你秒变算法大师!
【7月更文挑战第8天】在Python编程中,分治、贪心和动态规划是核心算法。分治如归并排序,将大问题拆解并递归求解;贪心算法针对找零问题,每次都选最大面额硬币,追求局部最优;动态规划则通过记忆化避免重复计算,如斐波那契数列。这些算法巧妙地提升效率,解决复杂问题。
43 0
|
6月前
|
存储 Python
Python实现张万森下雪了的效果
Python实现张万森下雪了的效果
67 0
|
12月前
|
算法 测试技术 容器
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
44 1
|
Python
Python实现超级玛丽游戏系列教程03玛丽跳跃
Python实现超级玛丽游戏系列教程03玛丽跳跃
155 0
Python实现超级玛丽游戏系列教程03玛丽跳跃
|
算法 C语言 C++
算法修炼之练气篇——练气二十一层
每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)
181 0
算法修炼之练气篇——练气二十一层
|
算法 C语言 C++
算法修炼之练气篇——练气二十层
每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)
119 0
|
算法 Go
算法练习第五天——有效数独
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)
算法练习第五天——有效数独