poj 2329 Nearest number - 2 这道题广搜为什么就是wa啊!!求解
我看了网上别人的代码 说是 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啊!!求解相关推荐
- [POJ 2329] Nearest number-2
Link: POJ 2329 传送门 Solution: 比较明显的$dp$,但爆搜好像也能过 用多个方向$dp$来解决此题,最后汇总答案即可 一开始我写了4个,但后来发现只要相反的2个方向即可,同时 ...
- POJ 3278 / hdu 2717 Catch That Cow (广搜)
POJ 3278 HDU 2717 广搜题,用一个数组标记就可以过,不标记的话会超内存. 另外,poj的数据要比hdu强一些,比如0 100,这种数据.不特判的话会RE.不过如果不特判,在poj上用C ...
- POJ 1330 Nearest Common Ancestors / UVALive 2525 Nearest Common Ancestors (最近公共祖先LCA)...
POJ 1330 Nearest Common Ancestors / UVALive 2525 Nearest Common Ancestors (最近公共祖先LCA) Description A ...
- 简单英文题 26 The Nearest Number(python)
http://noi.openjudge.cn/english/26/ """ 简单英文题 26 The Nearest Number http://noi.openju ...
- D26:The Nearest Number(最接近的数,翻译+题解)
原题:OpenJudge - 26:The Nearest Number 翻译: 描述:给定一个有N个数的数列和K.找到数列中下标最小且与K最接近(X-K的绝对值最小)的数X: 输入:第一行:两个正整 ...
- poj 3278 Catch That Cow 广搜
hdu 2717 Catch That Cow,题目链接 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- poj 3278 Catch That Cow(广搜)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 45087 Accepted: 14116 ...
- 八数码 poj 1077 广搜 A* IDA*
经典的八数码问题,有人说不做此题人生不完整,哈哈. 状态总数是9! = 362880 种,不算太多,可以满足广搜和A*对于空间的需求. 状态可以每次都动态生成,也可以生成一次存储起来,我用的动态生成, ...
- 广搜--(搜索的第一道题)图像有用区域
点这里点击打开链接 今天开始迈出了学习广搜的第一步,因为之前感觉搜索很难理解都没有固定的模式,但是觉得现在又到了不得不面对的时刻.一开始想用递归写的,就是想在外围加上1,然后就遍历一下如果不是0的就让 ...
- poj 3131 Cubic Eight-Puzzle 双向广搜 Hash判重
挺不错的题目,很锻炼代码能力和调试能力~ 题意:初始格子状态固定,给你移动后格子的状态,问最少需要多少步能到达,如果步数大于30,输出-1. 由于单向搜索状态太多,搜到二十几就会爆了,所以应该想到双向 ...
最新文章
- Cocos2d-x学习笔记(三十)之 游戏存档
- 计算机编程书籍-Python硬件开发树莓派从入门到实践无人驾驶 AndroidTV 自动循迹
- jQuery获取Text和Value
- layui与eazyui的区别_jquery easyui和layui的区别是什么?
- 不同浏览器 ajax,完整的 AJAX 写法(支持多浏览器)
- .NET西安社区 [拥抱开源,又见 .NET] 第二次活动简报
- 周华健,歌声伴我成长(四)
- mysql alter atafter_MySQL 常用操作
- 常见的锁策略、synchronized中的锁优化机制
- 20190804:有效的括号(误删补发)
- 查成语--每天10行python代码系列!
- 悟道-看山是山,看水是水
- 一些五笔不好打出来的字(转)-留作记念
- 卷积神经网络大盘拐点预测
- 计算机sps材料,SPS网络通信-Phocos.PDF
- Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)
- 年度团队个人回顾工坊实录
- Qt使用C++封装qml自定义图形控件(QQuickPaintedItem)
- 法大大首批通过ISO 22301:2019认证
- python计算图像的曲率