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

每日OJ题_牛客_春游_贪心+数学_C++_Java

目录

牛客_春游_贪心+数学

题目解析

C++代码

Java代码


牛客_春游_贪心+数学

春游

描述:

盼望着,盼望着,东风来了,春天脚步近了。

值此大好春光,老师组织了同学们出去划船,划船项目收费如下:

双人船最多坐两人,也可以坐一人,收费a{a}a元

三人船最多坐三人,也可以坐两人或者一人,收费b{b}b元

本次出游加上带队老师共n{n}n人,如何安排能使得花费最小呢?

输入描述:

第一行给出一个正整数 T(1≤T≤1000)T(1 \le T \le 1000)T(1≤T≤1000),代表测试数据的组数。

接下来 T 行每行给出三个正整数n,a,b,1≤n,a,b≤10^9,含义如题。

输出描述:

每组输入输出一行,代表最小的花费


题目解析

        优先选性价比最高的,然后小部分改动。考虑如果先选2更优,那么最多可能选1个3,因为2和3的最小公倍数是6,如果选了2个3不如选3个2。再考虑先选3更优,那么可能会选择1个2或者2个2,如果选择3个2不如选择2个3更优。所以从这5种情况里找最优解就好了。

C++代码

#include <iostream>
using namespace std;
#define int long longint t;
int n, a, b;int fun()
{if(n <= 2)return min(a, b);int ret = 0;if(a * 3 < b * 2) // 尽可能的选择双⼈船{ret += n / 2 * a;n %= 2;if(n)ret += min(min(a, b), b - a);}else // 尽可能的选择三⼈船{ret += n / 3 * b;n %= 3;if(n == 1)ret += min(min(a, b), 2 * a - b);if(n == 2)ret += min(min(a, b), 3 * a - b);}return ret;
}signed main()
{cin >> t;while(t--){cin >> n >> a >> b;cout << fun() << endl;}return 0;
}

Java代码

import java.util.*;
public class Main
{public static void main(String[] s){Scanner in = new Scanner(System.in);int t = in.nextInt();while(t-- != 0){long n = in.nextLong(), a = in.nextLong(), b = in.nextLong();long ret = 0;if(n <= 2) // 边界情况{ret = Math.min(a, b);}else{if(a * 3 < b * 2) // 尽可能的选择双⼈船{ret += n / 2 * a;n %= 2;if(n == 1){ret += Math.min(Math.min(a, b), b - a);}}else // 尽可能的选择三⼈船{ret += n / 3 * b;n %= 3;if(n == 1)ret += Math.min(Math.min(a, b), 2 * a - b);if(n == 2)ret += Math.min(Math.min(a, b), 3 * a - b);}}System.out.println(ret);}}
}
http://www.lryc.cn/news/478944.html

相关文章:

  • JavaWeb--Maven
  • 计算机网络——网络层导论
  • 使用 JPA 的 `save()` 方法更新数据库中的数据
  • Obsidian的Git插件设置配置全流程 -- 简单的电脑端多平台同步方案及常见问题
  • MapReduce 的 Shuffle 过程
  • 【Linux】进程控制——创建,终止,等待回收
  • 新手必看,17个常见的Python运行时错误
  • pdf 添加页眉页脚,获取前五页
  • SQL 实战问题解析
  • Android MVVM demo(使用DataBinding,LiveData,Fresco,RecyclerView,Room,ViewModel 完成)
  • python的安装环境Miniconda(Conda 命令管理依赖配置)
  • 【LeetCode】【算法】128. 最长连续序列
  • 【dvwa靶场:XSS系列】XSS (Reflected)低-中-高级别,通关啦
  • imu_tk配置教程(锁死ubuntu18.04,不要22.04)
  • Vue 的 keep-alive
  • linux进程的状态之环境变量
  • 【系统架构设计师】预测试卷一:论文(包括4篇论文主题对应的写作要点分析)
  • 东胜物流软件 AttributeAdapter.aspx SQL 注入漏洞复现
  • 2024年网鼎杯青龙组|MISC全解
  • 查询引擎的演变之旅 | OceanBase原理解读
  • 轻松理解操作系统 - Linux 软硬链接是什么?
  • Redis - 数据库管理
  • VBA02-初识宏——EXCEL录像机
  • Unity网络开发基础(part5.网络协议)
  • forEach可以遍历不可枚举属性吗
  • Docsify文档编辑器:Windows系统下个人博客的快速搭建与发布公网可访问
  • 索引基础篇
  • 多进程与多线程分不清?
  • 【零基础学习CAPL】——XML工程创建与使用详解
  • 市场营销应该怎么学?