当前位置: 首页 > news >正文

CF 14B.Young Photographer(Java实现)

题目分析

        一共n位运动员,摄影师目前的位置在x,下面n行是运动员奔跑的起点和终点。摄影师需要至少移动多少格才能同时处于n位运动员共同的区间位置。以下是根据示例一画的分析图

        红线就是摄影师位置到达公共区间的最短位移距离

思路分析

        用left定义公共区间的左边界,right定义右边界。每组判断是否更新左右边界,全部更新完后,判断摄影师是否在区间内,在则不动输出0;如果不在,那么x<left就移动left-x;如果x>right就移动x-right。同时如果left>right说明边界不存在,就输出-1

代码

        


import java.util.*;

public class Main {

	public static void main(String[] args)  {
		Scanner sc = new Scanner(System.in);
		int n= sc.nextInt();//运动员数量
		int x=sc.nextInt();//摄影师当前位置
		sc.nextLine();//吞回车
		int[][] arr=new int[n][2];//存每一行运动员的起始位置
		int left=0;//公共区间左边界
		int right=1001;//公共区间右边界
		for (int i = 0; i < n; i++) {//每行处理数据
			int a= sc.nextInt();//起始位置
			int b= sc.nextInt();//起始位置
			arr[i][0]= Math.min(a,b);//固定最小值
			arr[i][1]= Math.max(a,b);//固定最大值
			if (left<arr[i][0]){//判断左边界是否需要更新
				left=arr[i][0];//更新左边界
			}
			if (right>arr[i][1]) {//判断右边界是否需要更新
				right=arr[i][1];//更新右边界
			}
			sc.nextLine();//吞回车
		}
		if (left<=right){//如果公共区间正确
			if (left<=x&&x<=right){//如果摄影师初始位置就在区间内
				System.out.println(0);//不用动
			}else if (left>x){//如果小于左边界
				System.out.println(left-x);//向左边界移动
			} else if (right<x) {//如果大于右边界
				System.out.println(x-right);//向右边界移动
			}
		}else {//如果不存在公共区间
			System.out.println(-1);//错误
		}
	}

}

        感谢您能够看到这里,一起见证小何同学的算法学习,如果您有不同的见解,希望能得到您的指点和点悟;如果您是和我一样的同学,也希望这篇文章能对您有所帮助。

相关文章:

  • 遗传算法初探
  • 5. 最长回文子串
  • Qt学习 网络编程 TPC通信
  • springcloud整合seata
  • 华为 网络安全 认证
  • redis-性能下降的原因排查
  • 基于SpringBoot的二手交易系统
  • openharmony中hdf框架的驱动消息机制的实现原理
  • 常见的“锁”有哪些?
  • (200): error: #29: expected an expression error: #40: expected an identifier
  • 一周学会Flask3 Python Web开发-Jinja2模板基本使用
  • 福禄抽-测试报告
  • ASP.NET MVC 下载文件
  • Android移动应用开发实践-1-下载安装和简单使用Android Studio 3.5.2版本(频频出错)
  • Oracle中补全时间的处理
  • 计算机毕业设计SpringBoot+Vue.js教师工作量管理系统(源码+LW文档+PPT+讲解)
  • 本地部署AI模型 --- DeepSeek(二)---更新中
  • Keepalive基础
  • 具备智能广告拦截、个性化定制的便捷网页浏览器
  • Deepin(Linux)安装MySQL指南
  • 做指甲的网站/天津百度推广网络科技公司
  • 广州 营销型网站建设/关键词检测工具
  • 外贸都用什么网站/广告公司取名字参考大全
  • 微信网站域名备案成功后怎么做/seo岗位有哪些
  • 哪个网站做国际生意/关键词优化平台有哪些
  • 北京网站建设降龙/东莞网络推广营销公司