Problem Description
杭州师范大学第29届田径运动会圆满的闭幕了,本届运动会是我校规模最大,参赛人数最多的一次运动会。在两天半时间里,由学生、教工组成的61支代表队共2664名运动员参加了比赛。比赛期间,运动健儿赛出了风格、赛出了水平,共有9人次打破6项校纪录。
我们寝室的4名同学是我班最卖力的啦啦队员,每天都在看台上为班级里的运动员们加油助威,为我班获得精神文明奖立下了汗马功劳。可是遗憾的是,与我校的其他近2万名同学一样,我们自己不能上场表演 :(
于是,我们4名同学为下一届校运会发明了一种人人都能参加的比赛项目:
在地面上有N 个大小不等的长方形陷阱,每个陷阱的周长各不相同,每个参赛者都有一个沙包,闭上眼睛把它扔向地面,如果沙包掉到了某个陷阱里,那么这个参赛者根据这个陷阱的周长长度(如50米),绕跑道跑陷阱的周长长度(如50米),如果沙包没有掉到任何一个陷阱里,那么恭喜你,你跑0米。
有m<20000个同学参加了比赛,为了给跑步跑得最多的三位同学(冠军、亚军、季军)颁发安慰奖,必须给这m个同学的跑的长度按从多到少排序。
如下图一样的坐标系与长方形,这些长方形(陷阱)的四条边都与X轴或Y轴平行,它们之间互不相交,它们的左上角顶点的坐标与右下角顶点的坐标已知,给定一个你扔出去的沙包(看作是一个点)的坐标,可以得到你要跑的距离。(注意,这里的坐标值都不超过10000)

Input
第一行是两个正整数m<20000,n<100,它表示有m 个同学参加了扔沙包比赛,有n个陷阱。
接下去m行是m个同学扔出去的沙包的坐标,每一行都是两个正整数。
接下去的n行是陷阱的坐标,每行有4个正整数,它们从左到右分别是:陷阱左下角顶点的横坐标的值、陷阱左下角顶点的纵坐标的值,陷阱右上角顶点的横坐标的值、陷阱右上角顶点的纵坐标的值。

Output
m个同学按跑的距离的多少,从多到少输出,一个数字一行。

Sample Input
5 3
15 27
32 93
22 3
98 4
65 23
22 65 100 76
2 5 7 9
54 6 94 24

Sample Output
116
0
0
0
0

题目大意:给你M个同学丢的沙包位置,和N个矩形的对角坐标,对于每个同学,如果沙包在某个矩形内,则该同学跑步距离为该矩形的周长,如果没有在任何一个矩形内,则该同学跑步距离为0米,对所有同学跑步距离从大到小排序并输出。

分析:就是先比较,遍历每个陷阱,判断那个点是不是在那个陷阱中(包括边界!!!),如果在,就等于那个陷阱的周长~

这个题目坑爹的地方就是~可能有2个或着多个陷阱的边会重叠~而题目说不相交~我们只要找到了那个点首先在哪个陷阱上就可以了~break跳出循环,没必要往下找~
我会在代码中注释~

import java.util.Arrays;
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){int m =sc.nextInt();int n =sc.nextInt();int a[][] = new int[m][2];int b[][] = new int[n][4];for(int i=0;i<m;i++){a[i][0] = sc.nextInt();a[i][1] = sc.nextInt();}for(int i=0;i<n;i++){b[i][0] =sc.nextInt();b[i][1] =sc.nextInt();b[i][2] =sc.nextInt();b[i][3] =sc.nextInt();}int num[] = new int[m];for(int i=0;i<m;i++){num[i]=0;for(int j=0;j<n;j++){if(a[i][0]>=b[j][0]&&a[i][0]<=b[j][2]&&a[i][1]>=b[j][1]&&a[i][1]<=b[j][3]){num[i]=2*Math.abs( (b[j][2]-b[j][0]) )+2*Math.abs( (b[j][3]-b[j][1]) );break;//如果没有这个break就会WA//题意出现问题!因为如果按照它说的,
//陷阱不相交,有没有这个break其实是一样的!但是事实却是没有这个break就会WA}}}Arrays.sort(num);for(int i=num.length-1;i>=0;i--){System.out.println(num[i]);}}}}

HDOJ/HDU 2555 人人都能参加第30届校田径运动会了(判断加排序~)相关推荐

  1. AI开发者顶会,这一次,人人都可以参加!

    AI 开发者顶会 受到新冠肺炎疫情影响,近期的六场 AI 开发者顶会都改为线上召开.这些曾经一票难求的开发者顶会,现在于线上向全世界敞开大门.对于技术爱好者们来说,是一个难得的机会. AWS创新在线会 ...

  2. 人人都能学会的python编程教程(基础篇)完整版

    人人都能学会的python编程教程1:第一行代码 人人都能学会的python编程教程2:数据类型和变量 人人都能学会的python编程教程3:字符串和编码 人人都能学会的python编程教程4:关系运 ...

  3. 人人都有好工作:IT行业求职面试必读

    身处技术行业的您还在为找到心仪的工作而绞尽脑汁吗?看过<人人都有好工作>后,你将更加专业,让招聘经理对你刮目相看!图灵教育又一人文ITl力作<人人都有好工作>将在3月中旬上市, ...

  4. 我要人人都看到我,但不知道我是谁

    不管你是否认同,一款游戏的画面在很多时候已经成为了游戏好坏最基本的评判标准之一.游戏画面的好坏掌握在一群人手里--游戏美术设计师. 与策划.程序不同的是,游戏美术行业并不会用"项目经验&qu ...

  5. 人人都能做游戏!3D次世代CE云端引擎发布

    全球著名引擎提供商Crytek CEO和欢众科技今日联合发布3D次世代CE云端引擎.该引擎的出现让 "人人都能做游戏"成为可能,其革新之处在于:无论是专业的开发者还是毫无经验的普通 ...

  6. 吃透理财三句话人人都能成百万富翁

    财专家告诉我们:理财的最佳方式并非追求高超的金融投资技巧,只要你掌握正确的理财观念,并且持之以恒,若干年之后--人人都能成为百万富翁.  我每月到企业举办一小时的免费"理财讲座", ...

  7. 人人都应该学习并成为优秀的产品经理,因为你要为《你自己》这个产品负责到底

    最近刚买了一本书<产品经理手册>,书刚拿到手,就产生了这样一个灵感:人人都应该学习并成为优秀的产品经理,因为你要为<你自己>这个产品负责到底! 我们每个人每天每时每刻甚至每分每 ...

  8. Kyligence Zen 产品体验 — “人人都是数据分析师”

    一.引言: 大家平时应该在开发中使用过类似调查问卷的低代码平台,通过对Kyligence Zen 产品的体验,这让我觉得是指标应用领域的低代码平台. 试想一下,在0到1的创业公司,在没有技术团队的情况 ...

  9. 万字干货!《人人都是产品经理》作者苏杰独家专访

    "人人都是产品经理"它既是一个书名又是整个行业最知名的"金句",相信作为产品经理的小伙伴对它都不会陌生.09年初,时任阿里产品经理的苏杰提出了这个对行业影响深远 ...

最新文章

  1. java 输出js实现地址跳转
  2. ASP.NET Core 中间件(Middleware)详解
  3. 一起学习C语言:结构体(一)
  4. python把print写入文件_Python中用print方法向文件中写入内容
  5. buffer sort Oracle,SQL执行计划中的BUFFER SORT是什么意思呢,请高手指点.
  6. 代码审查(咳咳......又降温了啊....!!!!)
  7. paip.gch预编译头不生效的原因以及解决:
  8. wpf DoEvents
  9. 如何查看win10已激活密钥?查看win10已激活完整密钥的方法!
  10. 外包档案管理员轻松吗_如何轻松优化任务管理
  11. 修改docker ip网段
  12. 时间进度管理-甘特图
  13. 无线 WiFi 流量劫持
  14. 智能与人机融合智能的思考
  15. 神经网络中的BN操作(常见正则化处理)
  16. Go与Nginx(lua-resty-string)跨语言加解密
  17. 企业级地理数据库(sde库)创建 要素服务
  18. AD22如何添加一个元件的元件库(添加封装)(footprint is mising 问题)
  19. 前台Vue使用axios实现文件下载功能
  20. 防止恶意刷浏览量、下载量

热门文章

  1. Postman界面介绍及实例(转)
  2. .NET精品文章系列(一)
  3. 《一分钟经理人》学习笔记第五部分---一分钟表扬为什么有效
  4. 【C++笔记】运算符重载
  5. linux下安装anconda
  6. collectionutils包_CollectionUtils工具类的常用方法
  7. php能连接动易吗,动易CMS数据转成dedecms的php程序
  8. rust能捏人不_吃鸡:捏脸系统上线后,玩家们都嗨了
  9. linux终端中书名号,Linux双引号、单引号和反向单引号
  10. java字体颜色编程_Java 字体颜色转换工具类 ColorUtil