BZOJ 3299: [USACO2011 Open]Corn Maze玉米迷宫(BFS)
水题一道却交了4次QAQ,真是蒟蒻QAQ
CODE:
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
struct node{
int x,y,t;
}st,en;
queue<node> s;
#define maxn 1010
int a[maxn][maxn];
bool b[maxn][maxn];
int w[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
int n,m;
char str[10000];
int main(){
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++){
scanf("%s",str);
for (int j=1;j<=m;j++){
if (str[j-1]=='#') a[i][j]=1;
else if (str[j-1]=='@') {st=(node){i,j,0};a[i][j]=1;}
else if (str[j-1]=='=') en=(node){i,j,0};
else if (str[j-1]!='.')a[i][j]=str[j-1];
}
}
s.push(st);
for (int i=1;i<=n;i++) a[i][0]=a[i][m+1]=1;
for (int i=1;i<=m;i++) a[0][i]=a[n+1][i]=1;
while (!s.empty()){
node u=s.front();
if (u.x==en.x&&u.y==en.y) {printf("%d",u.t);return 0;}
s.pop();
for (int i=0;i<4;i++)
if (a[u.x+w[i][0]][u.y+w[i][1]]!=1){
if (a[u.x+w[i][0]][u.y+w[i][1]]>1){
if (b[u.x+w[i][0]][u.y+w[i][1]]) continue;
b[u.x+w[i][0]][u.y+w[i][1]]=1;
for (int k=1;k<=n;k++)
for (int j=1;j<=m;j++)
if ( a[k][j]==a[u.x+w[i][0]][u.y+w[i][1]] &&(u.x+w[i][0]!=k||u.y+w[i][1]!=j) ) {s.push((node){k,j,u.t+1});}
}else {
a[u.x+w[i][0]][u.y+w[i][1]]=1;
s.push((node){u.x+w[i][0],u.y+w[i][1],u.t+1});
}
}
}
return 0;
}
BZOJ 3299: [USACO2011 Open]Corn Maze玉米迷宫(BFS)的更多相关文章
- 3299: [USACO2011 Open]Corn Maze玉米迷宫
3299: [USACO2011 Open]Corn Maze玉米迷宫 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 137 Solved: 59[ ...
- 【BZOJ】3299: [USACO2011 Open]Corn Maze玉米迷宫(bfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=3299 映射一下传送门即可.. #include <cstdio> #include &l ...
- bzoj3299 [USACO2011 Open]Corn Maze玉米迷宫
Description 今年秋天,约翰带着奶牛们去玩玉米迷宫.迷宫可分成NxM个格子,有些格子种了玉 米,种宥玉米的格子无法通行. 迷宫的四条边界上都是种了玉米的格子,其屮只有一个格子 没种,那就是 ...
- 【bzoj 3299】 [USACO2011 Open]Corn Maze玉米迷宫(最短路)
就一个最短路,并且边长都是1,所以每个点只搜一次. /************************************************************** Problem: 3 ...
- P1825 [USACO11OPEN]玉米田迷宫Corn Maze
题目描述 This past fall, Farmer John took the cows to visit a corn maze. But this wasn't just any corn m ...
- 洛谷——P1825 [USACO11OPEN]玉米田迷宫Corn Maze
P1825 [USACO11OPEN]玉米田迷宫Corn Maze 题目描述 This past fall, Farmer John took the cows to visit a corn maz ...
- 洛谷—— P1825 [USACO11OPEN]玉米田迷宫Corn Maze
https://www.luogu.org/problem/show?pid=1825 题目描述 This past fall, Farmer John took the cows to visit ...
- 洛谷 P1825 [USACO11OPEN]玉米田迷宫Corn Maze
P1825 [USACO11OPEN]玉米田迷宫Corn Maze 题目描述 This past fall, Farmer John took the cows to visit a corn maz ...
- [USACO11OPEN]玉米田迷宫Corn Maze
题目描述 This past fall, Farmer John took the cows to visit a corn maze. But this wasn't just any corn m ...
随机推荐
- ecshop--标签数组
$properties 商品属性 array(1) { ["商品属性"]=> array(1) { [178]=> array(2) { ["name&qu ...
- js盒子模型
1.js盒子模型 指的是通过js中提供的一系列的属性和方法,获取页面中元素的样式信息值 例: #box有很多自己的私有属性: HTMLDivElement.prototype->HTMLElem ...
- mysql 常用指令
修改表的字符集 88down voteaccepted If you want to change the table default character set and all character ...
- UVa 11503 - Virtual Friends
题目大意:给出若干对朋友关系,每给出一对朋友关系,就输出二者所在关系网中的人数. 首先是对每个人编号,使用map简化编号过程,然后就是使用并查集更新集合.要注意的是当给出A和B的朋友关系时,无论A和B ...
- window下Git和github入门
tip:使用简单的例子来制作一个使用指南过程,默认文件夹为demo.看了3个早晨,写一下留个记录,可能有些不成熟,如有错误欢迎指正. 参考一:http://www.liaoxuefeng.com/wi ...
- java爬虫技术
原博:http://983836259.blog.51cto.com/7311475/1730243 开源爬虫分类: 1.分布式爬虫:Nutch 2.JAVA单机爬虫:Crawler4j.WebMag ...
- 关于金额,重量等浮点数的数据库字段设计(用Int,Long代替浮点数计算)
金额.重量.成绩等数据库字段推荐使用int或bigint类型. 通常我们数据库设计中金额,重量等涉及到小数位的字段会用float或decimal,mysql还可以用double,但往往每笔金额的计算我 ...
- 读书笔记--用Python写网络爬虫02--数据抓取
抓取(scraping)---爬虫从网页中抽取一些数据用以实现某些用途. 三种抽取网页数据的方法:正则表达式.Beautiful Soup和lxml. 2.1 分析网页 通过浏览器自带选项,查看网页源 ...
- iOS 之 ARC 的内存泄露
循环引用导致内存泄露,如block容易内存泄露
- jQuery children等筛选用法
jQuery children等筛选用法: <%@ page language="java" import="java.util.*" pageEncod ...