广搜迷之RE及迷之WA
最近做广搜的时候天天迷之RE,经过dalao@口昭寿指点,我把string数组换成了char二维数组就AC了,(然而我并不知道为什么)
传送门 <——以这个题为例
#include <bits/stdc++.h>
using namespace std;
int xx[] = {,,,-,},yy[] = {,-,,,};
//$$$##########string a[];//原先是这样,然后main函数中输入貌似要改一改,上周做的不清楚了,反正用的string数组,可以提交试试,迷之RE
char a[1001][1001];//这样就对了,不过我也不知道为什么
queue<int>q;
int tot[][];
int qx,qy,zx,zy;
void gs(int n,int m) {
while(q.empty() == ) {
int x = q.front();
q.pop();
int y = q.front();
q.pop();
for(int k = ; k <= ; k++) {
int x2 = x + xx[k];
int y2 = y + yy[k];
if(a[x2][y2] == '.' && x2 >= && y2 >= && x2 <=n && y2 <= m) {
q.push(x2);
q.push(y2);
tot[x2][y2] = tot[x][y] + ;
a[x2][y2] = ' ';
}
if(a[x2][y2] == '*') {
tot[x2][y2] = tot[x][y] + ;
cout<<tot[x2][y2]<<endl;
while(q.empty() == ){
q.pop();
}
memset(tot,,sizeof(tot));
return ;
}
}
}
cout<<-<<endl;
return ;
}
int main() {
while() {
int n,m;
scanf("%d%d",&n,&m);
if(n == && m == )
break;
getchar();
for(int i=; i<=n; i++) {
for(int j=; j<=m; j++) {
scanf("%c",&a[i][j]);
if(a[i][j] == '@') {
qx = i;
qy = j;
a[i][j] = '#';
q.push(qx);
q.push(qy);
}
}
getchar();
}
gs(n,m);
memset(tot,,sizeof(tot)); }
return ;
}
ps:迷之WA:
这个常识大部分dalao都应该知道,可这个问题整了我好几天,广搜题目很多为了加强数据什么的要多测啊....
很有可能是没有情空,多测不清空,爆零两行泪;
广搜迷之RE及迷之WA的更多相关文章
- HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?
这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 5652(二分+广搜)
题目链接:http://acm.hust.edu.cn/vjudge/contest/128683#problem/E 题目大意:给定一只含有0和1的地图,0代表可以走的格子,1代表不能走的格 子.之 ...
- nyoj 613 免费馅饼 广搜
免费馅饼 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...
- poj 3984:迷宫问题(广搜,入门题)
迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7635 Accepted: 4474 Description ...
- poj 3278:Catch That Cow(简单一维广搜)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 45648 Accepted: 14310 ...
- 双向广搜 POJ 3126 Prime Path
POJ 3126 Prime Path Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16204 Accepted ...
- 广搜+打表 POJ 1426 Find The Multiple
POJ 1426 Find The Multiple Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 25734 Ac ...
- 双向广搜 codevs 3060 抓住那头奶牛
codevs 3060 抓住那头奶牛 USACO 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 农夫约翰被告知一头逃跑奶牛 ...
- 双向广搜+hash+康托展开 codevs 1225 八数码难题
codevs 1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Yours和zero在研究A*启 ...
随机推荐
- 洛谷 P5304 [GXOI/GZOI2019]旅行者(最短路)
洛谷:传送门 bzoj:传送门 参考资料: [1]:https://xht37.blog.luogu.org/p5304-gxoigzoi2019-lv-xing-zhe [2]:http://www ...
- thrift使用
一.什么是thrift Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务.它被当作一个远程过程调用(RPC)框架来使用,是由FaceBook为“大规模跨语言服务开发”而开 ...
- Event filter with query "SELECT * FROM __InstanceModi
Event filter with query "SELECT * FROM __InstanceModi 问题描述: Details -Event filter with quer ...
- [源码分析]读写锁ReentrantReadWriteLock
一.简介 读写锁. 读锁之间是共享的. 写锁是独占的. 首先声明一点: 我在分析源码的时候, 把jdk源码复制出来进行中文的注释, 有时还进行编译调试什么的, 为了避免和jdk原生的类混淆, 我在类前 ...
- SQL SERVER服务器登录名、角色、数据库用户、角色、架构的关系
原创链接:https://www.cnblogs.com/junfly/articles/2798023.html SQL SERVER 基础教程中关于服务器登录名.服务器角色.数据库用户.数据库角色 ...
- 开放源代码的设计层面框架Spring——day01
spring第一天 一.Spring概述 1.1spring概述 1.1.1spring介绍 Spring是分层的Jav ...
- Centos6.5使用yum安装mysql——快速上手必备(转载)
第1步.yum安装mysql[root@stonex ~]# yum -y install mysql-server安装结果:Installed: mysql-server.x86_64 0: ...
- C# Datetime时间指定时区
string start_time_str = "2018-03-21 06:00:00"; DateTime.Parse(start_time_str) // :: 格林威治时间 ...
- tomcat设置为开机自启动
第一步:设置环境变量(在java环境变量配置完成的情况下) 计算机右键——>属性——>高级系统设置——>环境变量——>在用户变量中心新建CATALINA_HOME变量 编辑pa ...
- Codeforces Round #542 (Div. 1) 题解
开学了住校了打不了深夜场 好难受啊QwQ A 显然对于每个起点,我们只需要贪心记录这个起点出发出去的糖果数量以及离自己最近的糖果 因为这个起点最后一次装载糖果一定是装载终点离自己最近的那个糖果 $ O ...