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编辑

相关文章
|
3月前
|
监控 安全 Java
Java建筑工程建设智慧工地源码
实时监测高支模立杆及倾斜角度、荷载,监测架体的水平位移以及模板沉降情况;当检测数据超过预警值时,实时报警并发送云平台。
36 3
|
3月前
|
JavaScript Java 测试技术
基于java的车辆管理系统
基于java的车辆管理系统
14 0
|
3月前
|
存储 Java
java学生信息管理系统
java学生信息管理系统
|
12月前
|
Java 程序员 数据库连接
JAVA理财管理系统(JAVA 毕业设计)
JAVA理财管理系统(JAVA 毕业设计)
82 0
JAVA理财管理系统(JAVA 毕业设计)
|
3月前
|
Java
Java代码打造物流系统
Java代码打造物流系统
41 0
|
3月前
|
监控 安全 数据可视化
Java智慧工地大数据中心源码
Java智慧工地大数据中心源码
45 0
|
9月前
|
安全 Java 大数据
java在医保平台的应用
java在医保平台的应用
122 0
|
10月前
|
人工智能 监控 数据可视化
【java】智慧工地 | 让施工现场进入智慧时代
源码技术说明 微服务架构+Java+Spring Cloud +UniApp +MySql 支持多端展示(PC端、手机端、平板端); 数字孪生可视化大屏,一张图掌握项目整体情况; 使用轻量化模型,部署三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息; 用户PC端、移动端数据同步,依托组件化开发平台。; 依托数据交互子平台,形成用户多系统间数据融合; 依托智慧工地平台,满足省、市级住建数据监管要求; 利用5G及智能终端算法,实现IOT设备数据抓取与处理。
122 0
|
12月前
|
前端开发 Java 数据库连接
JAVA汽车租赁系统(JAVA毕业设计)
JAVA汽车租赁系统(JAVA毕业设计)
97 0
|
12月前
|
Java 数据库 数据安全/隐私保护
JAVA学生信息管理系统
基于java实现的学生信息管理系统
168 0