把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

题解P8073 [COCI2009-2010#7] BAKICE

P8073 [COCI2009-2010#7] BAKICE

题意

对于每位乘客(用 X 表示)会寻找距离(欧几里得距离)自己最近的座位(用 L 表示)。

坐座位满足以下原则:

  • 如果有别人离这个椅子更近,那这个人会选择下一张最近的椅子。
  • 如果有别人离这个椅子一样近,那这个椅子与这些人都会发生 1 次爆炸。
    (不存在一个人离两个人相同距离)。

分析

因为对于一个人不存在有两张椅子离其距离相等,
那么我们就可以认为这个人会选择离自己最近的目前没有人坐的椅子。

又看到数据范围 1R,C100,非常小,那我们不妨暴力一点。

我们暴力处理出所有椅子与人的距离,并进行排序。

对于我们当前选择的这条线路分情况讨论:

  1. 如果当前这个人已经有了一个位置,那么当前的线路无意义,直接跳过。
  2. 如果当前这张椅子未选,直接选择这张椅子。
  3. 如果当前这张椅子被选,并且之前那个人的距离更近,跳过。
  4. 如果当前这张椅子被选,并且之前那个人的距离和这次距离相等,发生一次爆炸。

注意

  1. 一张椅子只会发生一次爆炸,因此爆炸后我们要对这个椅子进行标记,防止重复运算。
  2. 题目所求为欧几里得距离,而不是曼哈顿距离。
posted @   djh0314  阅读(8)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示