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

lc1036-逃离大迷宫

题目描述

  • 原题

示例

输入:blocked = [[0,1],[1,0]], source = [0,0], target = [0,2]
输出:false
输入:blocked = [], source = [0,0], target = [999999,999999]
输出:true

题解

  • 思路:bfs
  • golang 写得不好,先放 cpp 吧
class Solution {
public:unordered_set<string> s;int n = 1e6;int m;int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};bool isEscapePossible(vector<vector<int>>& blocked, vector<int>& source, vector<int>& target) {m = blocked.size();for (auto &b: blocked) s.insert(get(b));return bfs(source, target) && bfs(target, source);}string get(vector<int> p) {return to_string(p[0]) + ' ' + to_string(p[1]);}bool bfs(vector<int> &source, vector<int> &target) {auto st = s;queue<vector<int>> q;q.push(source);st.insert(get(source));int cnt = 1;while (q.size()) {auto t = q.front(); q.pop();for (int d = 0; d < 4; d ++ ) {int x = t[0] + dx[d], y = t[1] + dy[d];if (0 <= x && x < n && 0 <= y && y < n &&!st.count(get({x, y}))) {cnt ++ ;if (cnt * 2 > m * (m - 1)) return true;if (target[0] == x && target[1] == y) return true;q.push({x, y});st.insert(get({x, y}));}}}return false;}
};
http://www.rkmt.cn/news/11951.html

相关文章:

  • 9.25学习笔记
  • 如何使用极限网关实现 Elasticsearch 集群迁移至 Easysearch
  • 文档抽取技术:实现金融保险业务流程自动化
  • 20250925
  • 题解:P2662 牛场围栏
  • c语言初步学习
  • Cloudflare安全验证过程全解析
  • 【网络编程】UDP 编程实战:从套接字到聊天室多场景计划构建
  • week1 homework
  • Java EE ----- Spring MVC (上) - 实践
  • window.addEventListener(message,()={})中的回调函数无故被一直触发的问题 - broky
  • python+pillow+Image实现图片压缩到指定大小
  • 3D 高斯训练速度和消耗 - MKT
  • 完整教程:【PyTorch实战:文本分类】23、BERT文本分类实战指南:从原理到PyTorch落地
  • proxifier联合burpsuite抓包小程序,但是小程序连不上网解决办法(亲测)
  • 完整教程:C语言——函数(超详细分析)
  • 用 Swift 和 Tesseract OCR 实现验证码识别
  • 校园交友|基于SprinBoot+vue的校园交友网站(源码+数据库+文档) - 实践
  • 告别单张保存!PPT 图片无损批量提取,这 3 种方法亲测有效!
  • ?模拟赛(2) 赛后总结
  • 【C语言】C语言预处理详解,从基础到进阶的全面讲解 - 指南
  • 掌握C2重定向器:红蓝队攻防实战指南
  • Avalonia:开发Android应用
  • 多GPU本地布署Wan2.2-T2V-A14B文本转视频模型 - yi
  • 软工9.25
  • P8367 [LNOI2022] 盒
  • Polar2025秋季个人挑战赛web-writeup
  • 通过【开题答辩过程】以《基于JavaEE的创意产品众筹平台的设计与实现》为例,不会开题答辩的能够进来看看
  • 如何在CentOS 7上安装bzip2-1.0.6-13.el7.x86_64.rpm RPM包(详细步骤)
  • 2025年Java常见面试题