题目描述

在一个夜黑风高,下着暴风雨的夜晚,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




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解题相关推荐

  1. [USACO 1.3.2] Barn Repair 修理牛棚

    修理牛棚 题目描述 给出: 输入输出格式 输出 样例 输入1 输出1 时间及空间限制 [算法分析] 贪心策略: 代码 题目描述 在一个夜黑风高,下着暴风雨的夜晚, farmer John 的牛棚的屋顶 ...

  2. USACO section1.3 Barn Repair 修理牛棚(贪心)

    题目:http://www.wzoi.org/usaco/11%5C304.asp 大意:有m个点,用有数量限制的区间把这些点全部覆盖,求区间和的最小值. 贪心原理:如果限制的区间数大于等于m的话an ...

  3. USACO1996《修理牛棚》解题报告

    Barn Repair 修理牛棚 译 by tim green 在一个暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 剩下的牛一个紧挨着另一个被排成一行来过夜 ...

  4. 修理牛棚 贪心 USACO

    今天开始终于可以刷USACO的题啦 准备每一道都发一个题解 1010: 1.3.2 Barn Repair 修理牛棚 时间限制: 1 Sec  内存限制: 128 MB 提交: 9  解决: 7 [提 ...

  5. USACO修理牛棚 Barn Repair

    USACO修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行 ...

  6. P1209 [USACO1.3]修理牛棚 Barn Repair 的详解

    P1209 [USACO1.3]修理牛棚 Barn Repair [题目网站] [USACO1.3]修理牛棚 Barn Repair - 洛谷 [题目考点] 间隔的计算 [题目思路] 先输入数据 再算 ...

  7. K10837 修理牛棚 Barn Repair [USACO1.4]

    K10837 修理牛棚 Barn Repair [USACO1.4] 题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满 ...

  8. python贪心算法——以“修理牛棚”题目为例

    [USACO1.3]修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个 ...

  9. java拉丁正方形_LeetCode JAVA解题---824. 山羊拉丁文

    LeetCode 题库 全 JAVA 解题 824. 山羊拉丁文 原题回顾: 给定一个由空格分割单词的句子 S.每个单词只包含大写或小写字母. 我们要将句子转换为 "Goat Latin&q ...

最新文章

  1. 宏基因组学习交流4群成立
  2. Java基本数据类型及String类
  3. quartz(6)--集群
  4. SpringMVC自学日志02(初识SpringMVC)
  5. java oo 封装_javaOO——封装、static、成员内部类
  6. 有限自动机与有限状态机
  7. C语言存储地址规律,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...
  8. 试分析家用变频空调的计算机控制原理,习 题 五
  9. 【细胞分割】基于matlab GUI阙值+边缘+形态学+种子点图像分割【含Matlab源码 615期】
  10. 高翔orbslam_ORB SLAM 2 + 构建点云地图 复现
  11. 控制面板音频设置里显示“没有音频设备”,没有声音的解决办法
  12. 安卓镜像刻录软件_手机iso刻录工具去广告版下载-安卓手机版iso刻录工具无广告版(iso写盘工具)v3.4 2020最新版_新绿资源网...
  13. crr树不同步数期权定价 matlab,CRR二叉树模型和例题.doc
  14. 遥感学习笔记(八)——遥感影像
  15. Pr:导出设置之编码设置
  16. 数据库高并发解决方法总结
  17. 2022智源大会议程公开 | 神经计算与生物智能论坛
  18. 线性表的顺序存储结构——顺序表
  19. 湖北省促进服务业领域困难行业恢复发展若干措施申报奖补指南
  20. Android获取手机方向

热门文章

  1. Python 数据分析微专业课程--项目03 视频网站数据清洗整理和结论研究
  2. 远程授课教学直播校园互动录控系统
  3. IT公司(只是看看,不可全信)
  4. Android App开发超实用实例 | AlertDialog对话框
  5. 图片2分类卷积神经网络模型训练、分类预测案例全过程(1)
  6. 网络安全(黑客)常见术语
  7. 高数期末试卷及答案(一)
  8. 为电子书包而生 华三发布三叉戟无线AP
  9. QApplication和QCoreApplication的区别
  10. LeetCode刷题——消除游戏#390#Medium