UVA - 572 Oil Deposits
来源:互联网 发布:淘宝客推广数据分析 编辑:程序博客网 时间:2024/06/05 16:58
题目大意:求连在一起的油田有几块
解题思路:遍历表,将遍历过的油田设置为1,如果该地方没有油或者遍历过了,就return,反之,将它所在的地方的标记为1,表示已经已经探测过,然后再继续遍历下去
#include<cstdio>#include<cstring>int cur[200][200], vis[200][200];void bfs(int x, int y) {if(cur[x][y] == 0 || vis[x][y])//return ;vis[x][y] = 1;bfs(x-1,y-1);bfs(x-1,y);bfs(x-1,y+1);bfs(x,y-1);bfs(x,y+1);bfs(x+1,y-1);bfs(x+1,y);bfs(x+1,y+1);}int main() {int m, n;char str[200];while(scanf("%d %d",&n, &m) != EOF) {if(n == 0 && m == 0)break;int j = 1, count = 0;memset(cur,0,sizeof(cur));memset(vis,0,sizeof(vis));for(int i = 0; i < n; i++) {scanf("%s", str);//printf("%s\n",str);int len = strlen(str);for(int k = 1; k <=len; k++) {if(str[k - 1] == '@')cur[j][k] = 1;elsecur[j][k] = 0;}j++;}for(int i = 1; i <= n; i++) for(int k = 1; k <= m;k++) if(cur[i][k] && !vis[i][k]){count++;bfs(i,k);}printf("%d\n",count);}return 0;}
0 0
- uva 572 - Oil Deposits
- uva 572 - Oil Deposits
- uva 572 - Oil Deposits
- uva-572-Oil Deposits
- UVa 572 - Oil Deposits
- UVa 572 - Oil Deposits
- UVa 572 - Oil Deposits
- uva 572Oil Deposits
- UVa 572Oil Deposits
- UVa 572 - Oil Deposits
- UVa 572: Oil Deposits
- uva 572 Oil Deposits
- UVa 572 - Oil Deposits
- uva 572 oil Deposits
- uva 572 - Oil Deposits
- uva 572 - Oil Deposits
- UVa 572 - Oil Deposits
- UVA 572 Oil Deposits
- 第八周项目3-多分段函数求值
- Android进程与线程基本知识
- Windows 下使用 RunHiddenConsole 启动 nginx、php
- 下拉框改变值,同时改变另一个TextField的FieldLabel
- 黑马程序员——基础加强——反射的作用,实现框架功能
- UVA - 572 Oil Deposits
- ElasticSearch字段排序
- 常用yum源之(Percona MySQL)
- ios 开发中遇到的问题总结以及解决方法
- 第8周项目3-多分段函数求值
- 远程连接mysql数据库失败:1130
- 第八周项目二加班费,要不要?
- js隔断刷新 3秒执行一次方法 右下角弹窗
- Swift init UIViewController子类时无法加载对应在xib