最近做广搜的时候天天迷之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的更多相关文章

  1. HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?

    这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others)  ...

  2. HDU 5652(二分+广搜)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/128683#problem/E 题目大意:给定一只含有0和1的地图,0代表可以走的格子,1代表不能走的格 子.之 ...

  3. nyoj 613 免费馅饼 广搜

    免费馅饼 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...

  4. poj 3984:迷宫问题(广搜,入门题)

    迷宫问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7635   Accepted: 4474 Description ...

  5. poj 3278:Catch That Cow(简单一维广搜)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 45648   Accepted: 14310 ...

  6. 双向广搜 POJ 3126 Prime Path

      POJ 3126  Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16204   Accepted ...

  7. 广搜+打表 POJ 1426 Find The Multiple

    POJ 1426   Find The Multiple Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25734   Ac ...

  8. 双向广搜 codevs 3060 抓住那头奶牛

    codevs 3060 抓住那头奶牛 USACO  时间限制: 1 s  空间限制: 16000 KB  题目等级 : 黄金 Gold   题目描述 Description 农夫约翰被告知一头逃跑奶牛 ...

  9. 双向广搜+hash+康托展开 codevs 1225 八数码难题

    codevs 1225 八数码难题  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description Yours和zero在研究A*启 ...

随机推荐

  1. 简单的makefile

    单一程序 准备一个hello.c #include <stdio.h> int main(void) { printf("Hello World!\n"); } gcc ...

  2. (二分查找 拓展) leetcode 162. Find Peak Element && lintcode 75. Find Peak Element

    A peak element is an element that is greater than its neighbors. Given an input array nums, where nu ...

  3. Python学子之如何退出python 命令行

    python命令行是新手学习python过程中必须要学的一个工具,下面我们来看一下怎么退出python命令行. 工具/原料 python2.7 方法/步骤 1.我们这里使用的是python3.6版本, ...

  4. HDU 2051(进制转换)

    题意是将十进制数转换成二进制数. 从网上找到的十进制转 k 进制的做法,代码如下: #include <bits/stdc++.h> using namespace std; ','A', ...

  5. python3 练手实例7 斐波那契数列

    '''a,b=0,1 x=int(input('请指定需要多少项:')) while x>0: print(b) a,b=b,a+b x-=1''' #递归 def fibo(n): if n& ...

  6. python—异常

    异常是在程序中不可避免的,当程序遇到一个异常时程序就会停止,可以使用try—except进行处理异常,即便在出现异常程序也可以继续运行. 语法: try: 代码 except 异常名: 处理异常的代码 ...

  7. PowerPoint 中插入 Latex 公式

    做 PPT 用 Latex Beamer 毕竟还是太麻烦,Beamer 毕竟还是更适合学术性的,各种定义各种公式的那种,遇到要画各种图,插入各种图片,进行错综复杂的排版就比较棘手了. 最终还是 Pow ...

  8. HttpClient基本使用

    1.在pom.xml加入对httpclient的必需的jar包的依赖 <!--//httpclient的接口基本都在这儿--> <dependency> <groupId ...

  9. bootstrap时间格式化

    /** * 将"2018-05-19T08:04:52.000+0000"这种格式的时间转化为正常格式 * @param time */ function timeFormat(t ...

  10. 2018-2019-2 20165234 《网络对抗技术》 Exp4 恶意代码分析

    实验四 恶意代码分析 实验目的 1.监控自己系统的运行状态,看有没有可疑的程序在运行. 2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals ...