P1649 [USACO07OCT]障碍路线Obstacle Course

bfs

直接上个bfs

注意luogu的题目和bzoj有不同(bzoj保证有解,还有输入格式不同)。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define pi pair<int,int>
#define mkp make_pair
#define N 105
const int d1[]={,,,-};
const int d2[]={,,-,};
char q[]; bool dan[N][N];
int a[N][N],vis[N][N],n;
pi S,T; queue<pi> h;
int main(){
scanf("%d",&n);
for(int i=;i<=n;++i){
for(int j=;j<=n;++j){
scanf("%s",q);
if(q[]=='A') S=mkp(i,j);
if(q[]=='B') T=mkp(i,j);
if(q[]=='x') dan[i][j]=;
}
}h.push(S);
while(!h.empty()){
pi u=h.front(); h.pop();
for(int i=;i<;++i){
int r1=u.first+d1[i],r2=u.second+d2[i];
while(!dan[r1][r2]){
if(r1>n||r1<||r2>n||r2<) break;
if(vis[r1][r2]){
r1+=d1[i];r2+=d2[i];
continue;
}
vis[r1][r2]=vis[u.first][u.second]+;
if(mkp(r1,r2)==T){
printf("%d",max(,vis[r1][r2]-));
return ;
}h.push(mkp(r1,r2));
r1+=d1[i];r2+=d2[i];
}
}
}printf("-1");
return ;
}

P1649

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define pi pair<int,int>
#define mkp make_pair
#define N 105
const int d1[]={,,,-};
const int d2[]={,,-,};
char q[N]; bool dan[N][N];
int a[N][N],vis[N][N],n;
pi S,T; queue<pi> h;
int main(){
scanf("%d",&n);
for(int i=;i<=n;++i){
scanf("%s",q);
for(int j=;j<=n;++j){
if(q[j-]=='A') S=mkp(i,j);
if(q[j-]=='B') T=mkp(i,j);
if(q[j-]=='x') dan[i][j]=;
}
}h.push(S);
while(!h.empty()){
pi u=h.front(); h.pop();
for(int i=;i<;++i){
int r1=u.first+d1[i],r2=u.second+d2[i];
while(!dan[r1][r2]){
if(r1>n||r1<||r2>n||r2<) break;
if(vis[r1][r2]){
r1+=d1[i];r2+=d2[i];
continue;
}vis[r1][r2]=vis[u.first][u.second]+;
if(mkp(r1,r2)==T){
printf("%d",max(,vis[r1][r2]-));
return ;
}h.push(mkp(r1,r2));
r1+=d1[i];r2+=d2[i];
}
}
}
}

bzoj1644

bzoj1644 / P1649 [USACO07OCT]障碍路线Obstacle Course的更多相关文章

  1. 洛谷 P1649 [USACO07OCT]障碍路线Obstacle Course

    P1649 [USACO07OCT]障碍路线Obstacle Course 题目描述 Consider an N x N (1 <= N <= 100) square field comp ...

  2. Luogu P1649 [USACO07OCT]障碍路线Obstacle Course

    题目描述 Consider an N x N (1 <= N <= 100) square field composed of 1 by 1 tiles. Some of these ti ...

  3. P1649 [USACO07OCT]障碍路线Obstacle Course

    题目描述 Consider an N x N (1 <= N <= 100) square field composed of 1 by 1 tiles. Some of these ti ...

  4. 洛谷P1649 【[USACO07OCT]障碍路线Obstacle Course】

    题目描述 Consider an N x N (1 <= N <= 100) square field composed of 1 by 1 tiles. Some of these ti ...

  5. [USACO07OCT]障碍路线Obstacle Course

    题目描述 Consider an N x N (1 <= N <= 100) square field composed of 1 by 1 tiles. Some of these ti ...

  6. 障碍路线Obstacle Course

    P1649 [USACO07OCT]障碍路线Obstacle Course 裸的dfs,今天学了一个新招,就是在过程中进行最优性减枝. #include<bits/stdc++.h> us ...

  7. [USACO07OCT]障碍路线 & yzoj P1130 拐弯 题解

    题意 给出n* n 的图,A为起点,B为终点,* 为障碍,.可以行走,问最少需要拐90度的弯多少次,无法到达输出-1. 解析 思路:构造N * M * 4个点,即将原图的每个点分裂成4个点.其中点(i ...

  8. 2021.10.29 P1649 [USACO07OCT]Obstacle Course S(BFS)

    2021.10.29 P1649 [USACO07OCT]Obstacle Course S(BFS) 题意: 给一张n*n的图,起点为A,终点为 B,求从A到B转弯次数最少为多少. 分析: 是否存在 ...

  9. [洛谷1649]障碍路线<BFS>

    题目链接:https://www.luogu.org/problem/show?pid=1649 历经千辛万苦,我总算是把这个水题AC了,现在心里总觉得一万只草泥马在奔腾: 这是一道很明显的BFS,然 ...

随机推荐

  1. 肖俊:HPE IT 的DevOps 实践分享

    本篇文章来自于HPE和msup共同举办的技术开放日HPE测试技术总监肖俊的分享,由壹佰案例整理编辑. 一.DevOps含义解析 这是DevOps的趋势图.DevOps这个概念大概是在2009年被提出来 ...

  2. Mapreduce 原理及程序分析

    1.MapReduce(Map+Reduce) 提出一个问题: 目标:你想数出一摞牌中有多少张黑桃. 直观方式:一张一张检查并且数出有多少张是黑桃数目 MapReduce方法则是: 给在座的所有玩家中 ...

  3. LeetCode 第 342 题(Power of Four)

    LeetCode 第 342 题(Power of Four) Given an integer (signed 32 bits), write a function to check whether ...

  4. sql server dba常用概念、操作分析char,varchar,nvarchar,varchar(max)

    1.设计表时如何使用char 与 varchar? 请写出你对varchar(max)的理解. 1.设计表时如何使用char 与 varchar? 请写出你对varchar(max)的理解. char ...

  5. Java编程实现获取本机IP和计算机名的功能

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wangshuxuncom/article/details/35990847 import java. ...

  6. CentOS工作内容(七)禁用IPV6

    CentOS工作内容(七)禁用IPV6 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+e 移动到当前行的开头(e end) ctrl+u ...

  7. RN例子,发送http请求,日期选择

    发送http请求 let map = { method: 'post', headers: { token: '', 'Content-Type': 'application/json' }, bod ...

  8. vue-watch

    <template> <div> <!-- 监听值的改变: --> <button class="th" @click="add ...

  9. Sequence(priority_queue)

    这题很智慧. VJ上4000多ms #include<cstdio> #include<algorithm> #include<queue> #include &l ...

  10. PAT 1021 Deepest Root[并查集、dfs][难]

    1021 Deepest Root (25)(25 分) A graph which is connected and acyclic can be considered a tree. The he ...