尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

lc1036-逃离大迷宫

lc1036-逃离大迷宫
📅 发布时间:2026/6/21 1:09:07
难度:困难

题目描述

  • 原题

示例

输入: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;}
};

相关新闻

  • 9.25学习笔记
  • 如何使用极限网关实现 Elasticsearch 集群迁移至 Easysearch
  • 文档抽取技术:实现金融保险业务流程自动化

最新新闻

  • 嵌入式GUI开发:emWin高级特性实战指南
  • P89LPC93x单片机SPI接口配置与驱动开发实战指南
  • i.MX27 IP摄像头开发全流程:从环境搭建到固件烧录实战指南
  • 嵌入式DES加密库实战:从Feistel结构到CBC/CFB模式集成
  • 传感器失效下的鲁棒最优实验设计:从理论到工程实践
  • 2026年浙江杭州行政诉讼律师推荐精选:5家专业实力律师团队 - 本地品牌推荐

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号