当前位置: 首页 > article >正文

【算法题】小鱼的航程

问题:

分析

分析题目,可以看出,给你一个开始的星期,再给一个总共天数,在这些天内,只有周六周日休息,其他全要游泳250公里。

那分支处理好啦

当星期为6时,需要消耗2天,再游泳

星期为7时,消耗一天,到星期一开始游泳

其他情况+250里程。

总结的分支如下:

  1. 处理周六和周日的情况:周六(x=6)时直接跳到周日(x=7),不累加;周日(x=7)时重置为周一(x=1),同样不累加。
  2. 其他工作日(x=1到5)时累加250,并递增x。
  3. 需要注意x的循环变化,确保在处理完周日之后正确回到周一,并且不遗漏或重复计算天数。

代码

#include<bits/stdc++.h>

using namespace std;

int main()
{
    int x; 
    unsigned long long n,p=0;
    cin>>x>>n;
    for(int i=0;i<n;i++)
    {
        if(x==7)//周六要算两天的,所以不能放一起
        {
            x=1;continue;
        }else if(x==6)
        {
            x++;
            continue;
        }else
        {
            p+=250; 
        }
        x++;
    }
    cout<<p<<endl;
    return 0;
}

总结

有人可能注意到了,这里用了unsigned long long类型,足够大,一般不会溢出。

但是不是小题大用了呢?其实由于天数范围是1≤n≤10e6,而如果最大了,里程会非常大,因为每次有效日内都要加250,所以使用这个类型其实刚刚好。


http://www.kler.cn/a/578753.html

相关文章:

  • AWS中使用CloudFront分发位于S3中的静态网站
  • SV学习笔记——数组、队列
  • spring boot+vue项目(免费)
  • es-初体验easy-es时报错:找不到mapper
  • Vue 过滤器 filter(s) 的使用
  • win32汇编环境,对话框中使用树形视图示例四
  • Objective-C 中 @synthesize VS @dynamic
  • webtinyserver讲解
  • pytorch retain_grad vs requires_grad
  • 电路研究9.3.1——合宙Air780EP中的AT开发指南:TCP 使用 SSL 示例
  • 关于VScode终端无法识别外部命令
  • mysql安装(演示为mac安装流程)
  • 使用 Python 批量提取 PDF 书签:一款实用工具的实现
  • Hadoop集群搭建(一)安装jdk
  • Nacos高频面试题10个
  • 深度学习与数据挖掘题库:401-500题精讲
  • 技术领域,有许多优秀的博客和网站
  • 基于PaddleNLP使用DeepSeek-R1搭建智能体
  • 【Linux篇】:Linux常用工具全解析--探索高效的工具宝藏
  • 生活反思公园散步与小雨遇记