1098 岩洞施工(JAVA)

简介: 要将一条直径至少为 1 个单位的长管道水平送入地形复杂的岩洞中,究竟是否可能?下面的两幅图分别给出了岩洞的剖面图,深蓝色的折线勾勒出岩洞顶部和底部的轮廓。图 1 是有可能的,绿色部分显示直径为 1 的管道可以送入。图 2 就不可能,除非把顶部或底部的突出部分削掉 1 个单位的高度。

 

要将一条直径至少为 1 个单位的长管道水平送入地形复杂的岩洞中,究竟是否可能?下面的两幅图分别给出了岩洞的剖面图,深蓝色的折线勾勒出岩洞顶部和底部的轮廓。图 1 是有可能的,绿色部分显示直径为 1 的管道可以送入。图 2 就不可能,除非把顶部或底部的突出部分削掉 1 个单位的高度。

image.gif编辑

本题就请你编写程序,判断给定的岩洞中是否可以施工。

输入格式:

输入在第一行给出一个不超过 100 的正整数 N,即横向采样的点数。随后两行数据,从左到右顺次给出采样点的纵坐标:第 1 行是岩洞顶部的采样点,第 2 行是岩洞底部的采样点。这里假设坐标原点在左下角,每个纵坐标为不超过 1000 的非负整数。同行数字间以空格分隔。

题目保证输入数据是合理的,即岩洞底部的轮廓线不会与顶部轮廓线交叉。

输出格式:

如果可以直接施工,则在一行中输出 Yes 和可以送入的管道的最大直径;如果不行,则输出 No 和至少需要削掉的高度。答案和数字间以 1 个空格分隔。

输入样例 1:

11
7 6 5 5 6 5 4 5 5 4 4
3 2 2 2 2 3 3 2 1 2 3

image.gif

输出样例 1:

Yes 1

image.gif

输入样例 2:

11
7 6 5 5 6 5 4 5 5 4 4
3 2 2 2 3 4 3 2 1 2 3

image.gif

输出样例 2:

No 1

image.gif

代码实现:

import java.io.*;
/**
 * @author yx
 * @date 2022-07-27 16:08
 */
public class Main {
    static PrintWriter out=new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    public static void main(String[] args) throws IOException {
        in.nextToken();
        int N=(int) in.nval;
        int max=0;
        int min=1000000000;
        for (int i = 0; i < N; i++) {
            in.nextToken();
            int temp=(int) in.nval;
            if(temp < min){
                min=temp;
            }
        }
        for (int i = 0; i < N; i++) {
            in.nextToken();
            int temp=(int) in.nval;
            if(temp > max){
                max=temp;
            }
        }
        if(min>max){
            System.out.println("Yes "+(min-max));
        }else {
            System.out.println("No "+(max-min+1));
        }
    }
}

image.gif

image.gif编辑

相关文章
|
C语言
数据结构之栈详解(C语言手撕)
数据结构之栈详解(C语言手撕)
395 1
|
消息中间件 存储 数据库
RabbitMQ之MQ的可靠性
RabbitMQ之MQ的可靠性
235 0
教大家用 Python 绘制几棵圣诞树~
今天分享五种用 Python 绘制圣诞树的方法,从基础到高级,效果也不断攀升分为 1 到 5 五个 Level 水平;
教大家用 Python 绘制几棵圣诞树~
|
搜索推荐 Shell
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
|
机器学习/深度学习 数据采集 人工智能
【机器学习】CLIP模型在有限计算资源下的性能探究:从数据、架构到训练策略
【机器学习】CLIP模型在有限计算资源下的性能探究:从数据、架构到训练策略
691 0
|
数据采集 搜索推荐 安全
谷歌外链怎么做?
答案是:谷歌SEO可以做GPB外链。 外链是网站SEO优化的重要组成部分,尤其是在谷歌搜索引擎中。 合理的外链策略不仅可以提高网站的搜索引擎排名,还能增加网站的可信度和知名度。 以下是一些实用的方法和策略,用于在谷歌中有效建立外链。
336 0
谷歌外链怎么做?
|
小程序 JavaScript
微信小程序 tdesign图片上传组件 上传到服务器
微信小程序 tdesign图片上传组件 上传到服务器
|
网络协议 测试技术 开发工具
大学生学计算机科学或者软件工程,未来有哪些职业发展路径?
@[TOC](目录) 计算机科学和软件工程是大学中非常受欢迎的专业,这两个专业涉及到许多技术和领域,因此有很多职业发展路径可供选择。以下是超过 20 种职业选择及其对应的技能要求: # 1. 软件开发工程师: 掌握编程语言,如 Java、Python、C++ 等;熟练掌握软件开发工具和技术,如 IDE、版本控制工具、测试工具等;具备良好的代码编写和架构设计能力。 # 2. 计算机网络工程师: 熟悉网络协议和架构,如 TCP/IP、HTTP、HTTPS 等;掌握网络管理和监控工具,如 Wireshark、Nagios 等;具备良好的故障排除和问题解决能力。 # 3. 数据库管理员: 熟悉数据库
633 0
|
数据可视化 JavaScript 前端开发
Android自动生成代码,可视化脚手架之环境搭建
目前可视化工具采用的是Electron进行开发的,Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序,它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用,也就是说使用Electron,您必须有一定的web开发经验,如果没有也没关系,后续您可以直接在我的模板中进行对应的修改即可,当然了,为了能够自己灵活的可视化,建议还是掌握一些Web的经验,编程语言之间的语法,基本互通,学起来也比较容易。
366 0