lanqiao OJ141 穿越雷区

简介: lanqiao OJ141 穿越雷区

1.穿越雷区 - 蓝桥云课 (lanqiao.cn)

这个题没什么难度,bfs搜索路径,多了一个方向的遍历条件,找到A点和B点的位置,记录下来,

然后用bfs搜索,1.mp[x][y] !=mp[tx][ty] ,就是要求当前的位置的字符和马上要走到的位置的字符不能相同。

#include<iostream>
#include<string>
#include<algorithm>
#include<queue>
 
using namespace std ;
const int N = 110 ;
int n ;
int fx,fy ;
char mp[N][N];
bool v[N][N] ;
int d[4][2] = {{0,1},{0,-1},{1,0},{-1,0}} ;
struct node{//用于记录存入队列的点的位置,和走了多少步才到了这里。
  int x , y , dis ;
  node(int xx , int yy  ,int diss){
    x = xx , y = yy  , dis = diss ; 
  } 
};
queue<node> q ;
 
void bfs(){
  while(!q.empty()){
    node now = q.front() ;
    q.pop() ;
    int x = now.x , y = now.y  , dis = now.dis ;
    if(x==fx&&y==fy){
      cout << dis << endl ; return ;
    }
    for(int i = 0 ; i < 4 ; i ++){
      int tx = x + d[i][0] , ty = y + d[i][1] ;
      if(tx<0 || tx >= n || ty < 0 || ty >= n ||(mp[tx][ty] == mp[x][y]) || v[tx][ty]) continue ;//当前点的字符和马上要走的点的字符不同
        v[tx][ty] = 1 ;
        q.push(node(tx,ty,dis+1));
      
    }
  }
}
 
int main(){
  cin >> n ;
 
  for(int i = 0 ; i < n ; i ++){
    for(int j = 0; j < n ; j ++){
      cin >> mp[i][j];
      if(mp[i][j] == 'A') {
        v[i][j] = 1 ;
        q.push({i,j,0}) ;
      }
      if(mp[i][j] == 'B') fx = i , fy = j ;
    }
  }
  
  bfs() ;
  
  return 0 ;
}
目录
相关文章
|
小程序 前端开发 数据挖掘
嘘!市面上短视频(douyin)“去水印”的工具原来是这样实现的
现在视频号非常火热,之前在做抖音和快手的人就直接把之前的视频直接搬运过来了。但是从抖音app下载的视频都是带官方水印的?这个是怎么去掉的?哦,不对,他们应该都有保 留原视频的吧。但是还有很多人是直接搬运别人的视频的,那他们是怎么去水印的呢? 其实早就有很多现成的工具,如小程序、去水印app都能直接去水印,甚至还有收费的。
2301 1
嘘!市面上短视频(douyin)“去水印”的工具原来是这样实现的
|
数据安全/隐私保护 块存储
|
前端开发 应用服务中间件 nginx
使用Docker快速搭建Web服务器Nginx
本文指导如何使用Docker快速搭建Nginx服务器。首先,通过`docker pull`命令获取Nginx镜像,然后以容器形式运行Nginx并映射端口。通过挂载目录实现本地文件与容器共享,便于自定义网页。使用`docker ps`检查运行状态,访问IP:8088确认部署成功。最后,介绍了停止、删除Nginx容器的命令,强调Docker简化了服务器部署和管理。
|
数据库连接 API Python
RESTful API 如何处理异常
RESTful API 如何处理异常
|
Python
分组和聚合DataFrame信息案例解析
分组和聚合DataFrame信息案例解析
228 1
|
存储 人工智能 开发工具
Git 中文参考(五)(9)
Git 中文参考(五)
237 2
|
域名解析 缓存 网络协议
阿里云DNS常见问题之新买的域名生效很慢如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
存储 监控 搜索推荐
营销管理利器!客户管理软件如何助力您实现精准营销管理?
使用CRM软件能助力企业提升营销效果和客户管理。通过统一客户信息平台,深度分析客户行为,实现个性化营销和预测性营销,提高营销转化率。同时,优化客户服务体验,增强多渠道沟通,提升客户满意度和忠诚度。营销自动化功能则能提高工作效率,精准投放资源,降低营销成本。Zoho CRM作为强大的工具,对于各阶段企业都是提升竞争力的关键。
144 1
|
Ubuntu Java Linux
LDAP 常用命令实操
LDAP 常用命令实操
297 0
|
算法 C++
​LeetCode刷题实战187:重复的DNA序列
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
209 0