poj 1562 Oil Deposits(迷宫)
来源:互联网 发布:ant java api 编辑:程序博客网 时间:2024/06/06 11:40
http://poj.org/problem?id=1562
题意:寻找矿藏的数量,8个方向(上下左右、斜对角)都为相同的一个矿藏
分析:广搜,在有矿藏的地方找寻所有的点
#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;int a[102][102],vis[8][2]={-1,0,1,0,0,-1,0,1,-1,1,1,1,-1,-1,1,-1};int n,m;struct WALL{int x,y;}wall,pos,temp;void BFS(){int i,j,k,sum;queue<WALL>q1;sum=0;for(i=0;i<n;i++){for(j=0;j<m;j++)if(a[i][j]==1){sum++;pos.x=i,pos.y=j;q1.push(pos);a[pos.x][pos.y]=0;while(!q1.empty()){temp=q1.front();q1.pop();for(k=0;k<8;k++){wall=temp;wall.x+=vis[k][0],wall.y+=vis[k][1];if(a[wall.x][wall.y]==1&&wall.x>=0&&wall.x<n&&wall.y>=0&&wall.y<m)q1.push(wall),a[wall.x][wall.y]=0;}}}}cout<<sum<<endl;}int main(){int i,j;char str[102];while(scanf("%d%d",&n,&m)&&n){memset(a,0,sizeof(a));for(i=0;i<n;i++){scanf("%s",str);for(j=0;j<m;j++){if(str[j]=='@') a[i][j]=1;else a[i][j]=0;}}BFS();}return 0;}
- poj 1562 Oil Deposits(迷宫)
- Oil Deposits(POJ 1562)
- poj 1562 Oil Deposits
- POJ 1562 Oil Deposits
- poj 1562 Oil Deposits
- poj 1562 Oil Deposits
- poj-1562Oil Deposits
- POJ-1562-Oil Deposits
- POJ 1562 Oil Deposits
- POJ 1562 Oil Deposits
- POJ 1562 Oil Deposits
- POJ 1562 Oil Deposits
- poj 1562 Oil Deposits
- poj 1562 Oil Deposits
- POJ:1562 Oil Deposits
- poj 1562 Oil Deposits
- poj 1562:Oil Deposits
- poj 1562 oil Deposits
- sleep和write的区别
- HDOJ/HDU 2141 Can you find it? 二分搜索优化
- PHP缩小png图片,保留透明色方法
- 我的第二轮进攻开始了
- 人类无法抗拒的10种心理
- poj 1562 Oil Deposits(迷宫)
- java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求
- maven的安装
- linux内核-内存管理(上)
- 八大排序算法
- HDU 4287 Intelligent IME
- 什么是Web部件?
- Linux内核-内存管理(下)
- linux网络编程之socket(七):一个进程发起多个连接和gethostbyname等函数