汽油

[2020.3.8]改错2

跟風遠走 提交于 2020-03-08 13:47:15
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。 本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。 输入格式: 输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。 输出格式: 在一行中输出应付款额,保留小数点后2位。 第一次错: #include <stdio.h> void main() { int oil,kind; float discount=0.97,money; char type; scanf("%d%d %c",&oil,&kind,&type); if(type=='m') discount=0.95; if(kind==90) kind=(float)6.95;else if(kind==93) kind=(float)7.44;else kind=(float)7.93; money=oil*kind*discount; printf("%.2f",money); } 后来在断点调试时发现kind依然是整形7,即使加了(float)也不能改变类型。

POJ2431Expedition 优先队列

江枫思渺然 提交于 2020-01-18 22:07:19
原题链接 解题思路 在到达加油站 i 时,就获得了一次在之后的任何时候都可以加Bi 单位汽油的权利。每次从优先队列中取出最大的汽油。 · 在经过加油站 i 时,向优先队列中加入Bi · 当燃料箱空时,如果优先队列也是空的,则无法到达终点。否则取出优先队列中最大的元素,给卡车加油 import java.util.Comparator; import java.util.PriorityQueue; import java.util.Queue; import java.util.Scanner; public class POJ2431{ static int[] c = new int[10005]; static int[] d = new int[10005]; static int[] a = new int[10005]; static int[] b = new int[10005]; static int n,L,P; /* static Comparator<Integer> cmp = new Comparator<Integer>() { public int compare(Integer e1, Integer e2) { return e2 - e1; } };*/ public static void main(String[] args) { //

leetcode--134加油站

放肆的年华 提交于 2019-12-16 17:33:15
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输入数组中的元素均为非负数。 示例 1: 输入: gas = [1,2,3,4,5] cost = [3,4,5,1,2] 输出: 3 解释: 从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油 开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油 开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油 开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油 开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油 开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。 因此,3 可为起始索引。 示例 2: 输入: gas = [2,3,4] cost = [3,4,3] 输出: -1 解释: 你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。 我们从 2

134. 加油站

故事扮演 提交于 2019-12-09 19:26:36
134. 加油站 在一条环路上有N个加油站,其中第i个加油站有汽油gas[i]升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输入数组中的元素均为非负数。 示例1: 输入: gas = [1,2,3,4,5] cost = [3,4,5,1,2] 输出: 3 解释: 从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油 开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油 开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油 开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油 开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油 开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。 因此,3 可为起始索引。 示例 2: 输入: gas = [2,3,4] cost = [3,4,3] 输出: -1 解释: 你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。 我们从 2

UML类图关系图解

我们两清 提交于 2019-12-09 07:40:30
UML类图关系图解 https://www.cnblogs.com/TvvT-kevin/p/9357339.html 一、类结构 在类的UML图中,使用长方形描述一个类的主要构成,长方形垂直地分为三层,以此放置类的名称、属性和方法。 其中, 一般类的类名用正常字体粗体表示,如上图;抽象类名用斜体字粗体,如 User ;接口则需在上方加上 <<interface >> 。 属性和方法都需要标注可见性符号, + 代表 public , # 代表 protected , - 代表 private 。 另外,还可以用冒号 : 表明属性的类型和方法的返回类型,如 +$name :string 、 +getName(): string 。当然,类型说明并非必须。 二、类关系 类与类之间的关系主要有六种:继承、实现、组合、聚合、关联和依赖,这六种关系的箭头表示如下 1.关联关系(Association) 关联关系:属于结构关系,对象与对象之间的关系 1.1单向关联 1 class Man 2 { 3 public Car car; 4 } 5 class Car 6 { 7 8 } 1.2双向关联 class Studen { public Grade grade; } class Grade { public Student student; } 1.3自关联 1 class ClassA

【LeetCode】加油站

血红的双手。 提交于 2019-12-02 03:11:53
【问题】在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输入数组中的元素均为非负数。 输入: gas = [1,2,3,4,5] cost = [3,4,5,1,2] 输出: 3 解释: 从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油 开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油 开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油 开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油 开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油 开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。 因此,3 可为起始索引。 【思路】首先我们要分析这个起点会不会存在?这个其实很简单,如果将所有的gas总油量 >= 车子的cost总耗油量,从而车子可以走一周的。 我们分析一下,假设起始点为x, 如果总的gas

leetcode-134——加油站

被刻印的时光 ゝ 提交于 2019-11-28 18:44:14
加油站 题目 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输入数组中的元素均为非负数。 示例 1: 输入: gas = [1,2,3,4,5] cost = [3,4,5,1,2] 输出: 3 解释: 从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油 开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油 开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油 开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油 开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油 开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。 因此,3 可为起始索引。 示例 2: 输入: gas = [2,3,4] cost = [3,4,3] 输出: -1 解释: 你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。

poj2431 Expedition 题解报告

血红的双手。 提交于 2019-11-28 03:20:45
题目传送门 【题目大意】 卡车要去往距离起点为$L$的城镇,出发时有$P$升汽油,每经过一单位距离消耗一升汽油,从起点到城镇的路上有$n$个加油站,油箱可以容纳无穷多的油,求最少要在多少个加油站加油才能顺利到达城镇。 【思路分析】 用一个单调队列存储加油站信息,按照汽油从大到小排序,每经过一个加油站就把它加入队列,如果当前油箱里的汽油不够到下一个加油站了,那就取出队头,更新各项信息,相当于在那个加油站加了油,细节见代码。 【代码实现】 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #define g() getchar() 8 #define rg register 9 #define go(i,a,b) for(rg int i=a;i<=b;i++) 10 #define back(i,a,b) for(rg int i=a;i>=b;i--) 11 #define db double 12 #define ll long long 13 #define il inline 14 #define pf printf 15 using namespace std; 16 int fr(){

cashier|gasoline|reservoir

天大地大妈咪最大 提交于 2019-11-27 21:12:34
N-COUNT 出纳(员);收银员 A cashier is a person who customers pay money to or get money from in places such as shops or banks. formal for gas noun (LIQUID FUEL) 汽油(gas 的正式说法) gasoline N-COUNT 储藏;蓄积 A reservoir of something is a large quantity of it that is available for use when needed. ...the huge oil reservoir beneath the Kuwaiti desert. 科威特沙漠下面巨大的石油储藏 来源: https://www.cnblogs.com/yuanjingnan/p/11376922.html

gas-station

℡╲_俬逩灬. 提交于 2019-11-27 20:50:20
/** *环形路上有n个加油站,第i个加油站的汽油量是gas[i]. * 你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。 * 求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。 * 注意: * 答案保证唯一。 * */ /** *环形路上有n个加油站,第i个加油站的汽油量是gas[i]. * 你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。 * 求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。 * 注意: * 答案保证唯一。 * */ public class Main56 { public static void main(String[] args) { int[] gas = {41,42,3,4,45}; int[] cost = {1,2,63,64,5}; System.out.println(Main56.canCompleteCircuit(gas, cost)); } public static int canCompleteCircuit(int[] gas, int[] cost) {