牛客——送水

题目

宁静的草原上一南一北坐落着两个美丽的村庄牛村和羊村。喜羊羊们瞎折腾把羊村的供水系统搞砸了,羊村村民没有饮用水危在旦夕,羊村村长打电话求助牛村村长,牛村火速派牛可乐和牛能给羊村送水。

牛可乐和牛能负责开车运送一辆装满矿泉水的大货车去羊村,在路上牛可乐和牛能如果渴了会直接饮用车上的矿泉水,如果碰到路人求水也会从车上舀水送给他,当他们到达羊村的时候车上的矿泉水总共重Y千克。

村长记得刚出发的时候总共有k桶一样大小的水,总重量小于等于n千克,请问从牛村到羊村路上牛可乐和牛能总共消耗了多少千克的水?

每桶水都为整数千克

输入描述: 

输入一行,包含三个整数Y,k,n ,

1<=Y,k,n<=109;n/k<=105

输出描述:

输出一行,输出可能消耗的水重量,用空格隔开。

如果不存在这样的重量,输出−1
示例1
输入

10 1 10

输出

0

示例2
输入

10 6 40

输出

2 8 14 20 26

该题难度不大,重在如何思考。

这道题的题眼在于——总重量小于等于n千克以及每桶水都为整数千克,初看十分懵逼,不知道该如何下手。

思路

单桶水质量(区间范围)

首先,需要考虑单桶水的重量是多少,如何求单桶水呢?题目所给的是刚出发时,总重量小于等于n,因此我们无法清楚得知单桶水的重量,只能知道在某个区间范围内,因此int x2<=(n/k);其次,到达时总重为Y,此Y可能为整桶水的重量也可能是几桶水加半桶水的重量,由于无法得知,我们同样的处理方法,int x1>=(y/k);

int x1=int(y/k);
int x2=n/k;
计算可能值

由于题目已经说明每桶水都为整数千克,可以利用for循环,从x1到x2,从而计算出可能的刚出发时候的总重量i*k,当总重量减去到达终点时的Y重量,便是途中消耗的重量。

for(int i=x1;i<=x2;i++)
        {
            if(i*k-y>=0)
            {
                int x=i*k-y;
                cout<<x<<" ";
            }
        }  
细节优化

依据题目中如果不存在这样的重量,输出−1,在什么时候会不存在这样的重量呢?即总重量<达到终点时的重量Y,此时输出-1。(n<Y)

if(x2*k-y<0)    cout<<"-1"<<endl;

源代码

#include<iostream>
using namespace std;
int main()
{
    int y,k,n;
    cin>>y>>k>>n;
    int x1=int(y/k);
    int x2=n/k;
    if(x2*k-y<0)    cout<<"-1"<<endl;
    else
    {
        for(int i=x1;i<=x2;i++)
        {
            if(i*k-y>=0)
            {
                int x=i*k-y;
                cout<<x<<" ";
            }
        }  
    }
    
    return 0;
}

对自己想说的,不存在与存在情况处于并列关系,因此  不存在情况不应该在for循环里面,因为压根不需要循环。

相关推荐

  1. ——

    2024-06-10 19:16:01       27 阅读
  2. 设计模式

    2024-06-10 19:16:01       69 阅读
  3. 面试1

    2024-06-10 19:16:01       25 阅读
  4. Xorto

    2024-06-10 19:16:01       27 阅读
  5. 仓库选址

    2024-06-10 19:16:01       32 阅读
  6. 补题目

    2024-06-10 19:16:01       29 阅读
  7. 小白月赛58-C-

    2024-06-10 19:16:01       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 19:16:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 19:16:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 19:16:01       82 阅读
  4. Python语言-面向对象

    2024-06-10 19:16:01       91 阅读

热门阅读

  1. SSR技术:让搜索引擎爱上你的网站

    2024-06-10 19:16:01       25 阅读
  2. mysql 小例子

    2024-06-10 19:16:01       28 阅读
  3. 服务部署:Ubuntu安装搭建docker

    2024-06-10 19:16:01       37 阅读
  4. 初识manim

    2024-06-10 19:16:01       34 阅读
  5. 数据结构学习笔记-串

    2024-06-10 19:16:01       33 阅读
  6. AcWing 842. 排列数字——算法基础课题解

    2024-06-10 19:16:01       35 阅读
  7. 【Linux】rsync远程数据同步工具使用

    2024-06-10 19:16:01       29 阅读
  8. 代码随想录算法训练营第29天|回溯

    2024-06-10 19:16:01       37 阅读
  9. 浅谈AI-在公司资金管理中的应用

    2024-06-10 19:16:01       29 阅读
  10. Web中常用的数据格式

    2024-06-10 19:16:01       34 阅读
  11. Netty

    Netty

    2024-06-10 19:16:01      31 阅读
  12. SpEL 表达式是什么?

    2024-06-10 19:16:01       26 阅读