Barn Repair 修理牛棚,java解题
题目描述
在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,farmer John必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 farmer John想将他购买的木板总长度减到最少。
给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S<=200); 牛棚里牛的总数C(1 <= C <=S);和牛所在的牛棚的编号stall_number(1 <= stall_number <= S),计算拦住所有有牛的牛棚所需木板的最小总长度。 输出所需木板的最小总长度作为答案。
输入
- 第 1 行: 木板最大的数目M ,牛棚的总数S 和 牛的总数C(用空格分开)
- 第 2 到 C+1行: 每行包含一个整数,表示牛所占的牛棚的编号。
- 输出
- 单独的一行包含一个整数表示所需木板的最小总长度。
样例输入
4 50 18
3
4
6
8
14
15
16
17
21
25
26
27
30
31
40
41
42
43
样例输出25
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int x=sc.nextInt(); //木板数int y=sc.nextInt(); //牛棚总数int z=sc.nextInt(); //牛所在的棚编号int num[]=new int[z]; int sum=0;for(int i=0;i<num.length;i++) { //将牛棚编号存入数组numnum[i]=sc.nextInt(); }for(int i=0;i<num.length-1;i++) { //将牛棚编号从小排到大for(int j=0;j<num.length-1-i;j++) {if(num[j]>num[j+1]) {int temp=num[j];num[j]=num[j+1]; num[j+1]=temp;}}}int middle[]=new int[z]; //存放差值for(int i=1;i<middle.length;i++) { //i=1防止超出数组长度middle[i]=num[i]-num[i-1]; //因为是差值少算了第一个的1个木板长度}for(int i=0;i<middle.length-1;i++) { //将差值从小排到大for(int j=0;j<middle.length-1-i;j++) {if(middle[j]>middle[j+1]) {int temp=middle[j];middle[j]=middle[j+1]; middle[j+1]=temp;}}}//将最大的后(x-1)位去除,x个木板就有(x-1)个空。for(int i=middle.length-1;i>=middle.length-(x-1);i--) { middle[i]=0; //把它赋值为0就相当于去除}//注:去除(x-1)个,所以少算了(x-1)木板长度for(int i=0;i<middle.length;i++) { //将他们都加起来sum+=middle[i];}System.out.println(sum+x); //加上少算的木板长度}}
Barn Repair 修理牛棚,java解题相关推荐
- [USACO 1.3.2] Barn Repair 修理牛棚
修理牛棚 题目描述 给出: 输入输出格式 输出 样例 输入1 输出1 时间及空间限制 [算法分析] 贪心策略: 代码 题目描述 在一个夜黑风高,下着暴风雨的夜晚, farmer John 的牛棚的屋顶 ...
- USACO section1.3 Barn Repair 修理牛棚(贪心)
题目:http://www.wzoi.org/usaco/11%5C304.asp 大意:有m个点,用有数量限制的区间把这些点全部覆盖,求区间和的最小值. 贪心原理:如果限制的区间数大于等于m的话an ...
- USACO1996《修理牛棚》解题报告
Barn Repair 修理牛棚 译 by tim green 在一个暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 剩下的牛一个紧挨着另一个被排成一行来过夜 ...
- 修理牛棚 贪心 USACO
今天开始终于可以刷USACO的题啦 准备每一道都发一个题解 1010: 1.3.2 Barn Repair 修理牛棚 时间限制: 1 Sec 内存限制: 128 MB 提交: 9 解决: 7 [提 ...
- USACO修理牛棚 Barn Repair
USACO修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行 ...
- P1209 [USACO1.3]修理牛棚 Barn Repair 的详解
P1209 [USACO1.3]修理牛棚 Barn Repair [题目网站] [USACO1.3]修理牛棚 Barn Repair - 洛谷 [题目考点] 间隔的计算 [题目思路] 先输入数据 再算 ...
- K10837 修理牛棚 Barn Repair [USACO1.4]
K10837 修理牛棚 Barn Repair [USACO1.4] 题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满 ...
- python贪心算法——以“修理牛棚”题目为例
[USACO1.3]修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个 ...
- java拉丁正方形_LeetCode JAVA解题---824. 山羊拉丁文
LeetCode 题库 全 JAVA 解题 824. 山羊拉丁文 原题回顾: 给定一个由空格分割单词的句子 S.每个单词只包含大写或小写字母. 我们要将句子转换为 "Goat Latin&q ...
最新文章
- 宏基因组学习交流4群成立
- Java基本数据类型及String类
- quartz(6)--集群
- SpringMVC自学日志02(初识SpringMVC)
- java oo 封装_javaOO——封装、static、成员内部类
- 有限自动机与有限状态机
- C语言存储地址规律,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...
- 试分析家用变频空调的计算机控制原理,习 题 五
- 【细胞分割】基于matlab GUI阙值+边缘+形态学+种子点图像分割【含Matlab源码 615期】
- 高翔orbslam_ORB SLAM 2 + 构建点云地图 复现
- 控制面板音频设置里显示“没有音频设备”,没有声音的解决办法
- 安卓镜像刻录软件_手机iso刻录工具去广告版下载-安卓手机版iso刻录工具无广告版(iso写盘工具)v3.4 2020最新版_新绿资源网...
- crr树不同步数期权定价 matlab,CRR二叉树模型和例题.doc
- 遥感学习笔记(八)——遥感影像
- Pr:导出设置之编码设置
- 数据库高并发解决方法总结
- 2022智源大会议程公开 | 神经计算与生物智能论坛
- 线性表的顺序存储结构——顺序表
- 湖北省促进服务业领域困难行业恢复发展若干措施申报奖补指南
- Android获取手机方向