我看了网上别人的代码 说是 dp 我感觉就是个暴力嘛!!求出0到每一个非零的距离,找出最小的,如果有两个就还是零 
可我的广搜为什么就是wa啊!!我看discuss里也有人问广搜就是各种wa    求解啊!!!
以下是我的广搜wa的代码!!!    跪求大牛解释啊!!!
 #include<iostream>
#include<queue>
using namespace std;
int a[205][205],b[205][205],sign[205][205];
#define doit(n) for(int i=1;i<=n;i++)
#define doitj(n) for(int j=1;j<=n;j++)
int ads(int x,int y)
{
if(x-y>0)
return x-y;
return y-x;
}
int dir[8][2]={0,1,1,0,-1,0,0,-1,1,1,1,-1,-1,1,-1,-1};
int s;
queue<int>q ;
void bfs(int x,int y)
{
int temp=0x7FFFFFFF;
int dis;
q.push(x);
q.push(y);
while(!q.empty())
{
int m=q.front();q.pop();
int n=q.front();q.pop();
for(int i=0;i<8;i++)
{
int mm=m+dir[i][1];
int nn=n+dir[i][0];
if(mm>=1&&mm<=s&&nn>=1&&nn<=s&&sign[mm][nn]==0)
{
sign[mm][nn]=1;
q.push(mm);
q.push(nn);
if(a[mm][nn]!=0)
{
dis=ads(mm,x)+ads(nn,y);
if(dis<temp)
{
temp=dis;
b[x][y]=a[mm][nn];
}
else if(dis==temp)
{
b[x][y]=0;
while(!q.empty())
q.pop();
break;
}
if(dis>temp+2)
{
while(!q.empty())
q.pop();
break;
}
}
}
}
}
}
int main()
{
while(scanf("%d",&s)!=EOF)
{
doit(s)
{
doitj(s)
{
scanf("%d",&a[i][j]);
b[i][j]=a[i][j];
}
}
doit(s)
{
doitj(s)
if(a[i][j]==0)
{
memset(sign,0,sizeof(sign));
bfs(i,j);
}
}
doit(s)
{
doitj(s)
{
if(j==s)
printf("%d\n",b[i][j]);
else
printf("%d ",b[i][j]);
}
}
}
return 0;
}

poj 2329 Nearest number - 2 这道题广搜为什么就是wa啊!!求解相关推荐

  1. [POJ 2329] Nearest number-2

    Link: POJ 2329 传送门 Solution: 比较明显的$dp$,但爆搜好像也能过 用多个方向$dp$来解决此题,最后汇总答案即可 一开始我写了4个,但后来发现只要相反的2个方向即可,同时 ...

  2. POJ 3278 / hdu 2717 Catch That Cow (广搜)

    POJ 3278 HDU 2717 广搜题,用一个数组标记就可以过,不标记的话会超内存. 另外,poj的数据要比hdu强一些,比如0 100,这种数据.不特判的话会RE.不过如果不特判,在poj上用C ...

  3. POJ 1330 Nearest Common Ancestors / UVALive 2525 Nearest Common Ancestors (最近公共祖先LCA)...

    POJ 1330 Nearest Common Ancestors / UVALive 2525 Nearest Common Ancestors (最近公共祖先LCA) Description A ...

  4. 简单英文题 26 The Nearest Number(python)

    http://noi.openjudge.cn/english/26/ """ 简单英文题 26 The Nearest Number http://noi.openju ...

  5. D26:The Nearest Number(最接近的数,翻译+题解)

    原题:OpenJudge - 26:The Nearest Number 翻译: 描述:给定一个有N个数的数列和K.找到数列中下标最小且与K最接近(X-K的绝对值最小)的数X: 输入:第一行:两个正整 ...

  6. poj 3278 Catch That Cow 广搜

    hdu 2717 Catch That Cow,题目链接 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...

  7. poj 3278 Catch That Cow(广搜)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 45087   Accepted: 14116 ...

  8. 八数码 poj 1077 广搜 A* IDA*

    经典的八数码问题,有人说不做此题人生不完整,哈哈. 状态总数是9! = 362880 种,不算太多,可以满足广搜和A*对于空间的需求. 状态可以每次都动态生成,也可以生成一次存储起来,我用的动态生成, ...

  9. 广搜--(搜索的第一道题)图像有用区域

    点这里点击打开链接 今天开始迈出了学习广搜的第一步,因为之前感觉搜索很难理解都没有固定的模式,但是觉得现在又到了不得不面对的时刻.一开始想用递归写的,就是想在外围加上1,然后就遍历一下如果不是0的就让 ...

  10. poj 3131 Cubic Eight-Puzzle 双向广搜 Hash判重

    挺不错的题目,很锻炼代码能力和调试能力~ 题意:初始格子状态固定,给你移动后格子的状态,问最少需要多少步能到达,如果步数大于30,输出-1. 由于单向搜索状态太多,搜到二十几就会爆了,所以应该想到双向 ...

最新文章

  1. Cocos2d-x学习笔记(三十)之 游戏存档
  2. 计算机编程书籍-Python硬件开发树莓派从入门到实践无人驾驶 AndroidTV 自动循迹
  3. jQuery获取Text和Value
  4. layui与eazyui的区别_jquery easyui和layui的区别是什么?
  5. 不同浏览器 ajax,完整的 AJAX 写法(支持多浏览器)
  6. .NET西安社区 [拥抱开源,又见 .NET] 第二次活动简报
  7. 周华健,歌声伴我成长(四)
  8. mysql alter atafter_MySQL 常用操作
  9. 常见的锁策略、synchronized中的锁优化机制
  10. 20190804:有效的括号(误删补发)
  11. 查成语--每天10行python代码系列!
  12. 悟道-看山是山,看水是水
  13. 一些五笔不好打出来的字(转)-留作记念
  14. 卷积神经网络大盘拐点预测
  15. 计算机sps材料,SPS网络通信-Phocos.PDF
  16. Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)
  17. 年度团队个人回顾工坊实录
  18. Qt使用C++封装qml自定义图形控件(QQuickPaintedItem)
  19. 法大大首批通过ISO 22301:2019认证
  20. python计算图像的曲率

热门文章

  1. bookstrap必备的基础知识
  2. 要想成功必须具备的九种手段
  3. 工厂模式(描述语言PHP)
  4. Unity3d之MonoBehaviour的可重写函数整理
  5. 安装索引源码阅读工具 lxr 安装配置初探
  6. JAVA学习笔记-反射
  7. Hibernate 笔记5 load和get方法的区别
  8. 随机生成26大写字母
  9. Deskew Technologies Gig Performer 4 Mac - 现场调音机架
  10. 如何查看Mac电池损耗?