POJ 1979 Red and Black DFS
简单DFS
注意边界就行了。
// #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostream> #include<sstream> #include<cmath> #include<climits> #include<string> #include<map> #include<queue> #include<vector> #include<stack> #include<set> using namespace std; typedef long long ll; typedef pair<int,int> pii; #define pb(a) push_back(a) #define INF 0x1f1f1f1f #define lson idx<<1,l,mid #define rson idx<<1|1,mid+1,rvoid debug() { #ifdef ONLINE_JUDGE #elsefreopen("d:\\in.txt","r",stdin);freopen("d:\\out1.txt","w",stdout); #endif } char getch() {char ch;while((ch=getchar())!=EOF){if(ch!=' '&&ch!='\n')return ch;}return EOF; } char da[25][25]; int n,m; int num; int dx[]={-1,0,1,0}; int dy[]={0,1,0,-1}; int vis[25][25]; int dfs(int x,int y) {vis[x][y]=1;num++;for(int d=0;d<4;d++){int nx=x+dx[d],ny=y+dy[d];if(da[nx][ny]=='.'&&!vis[nx][ny]&&nx>=1&&nx<=n&&ny>=1&&ny<=m)dfs(nx,ny);}return 0; } int main() {while(scanf("%d%d",&m,&n)!=EOF&&(n||m)){for(int i=1; i<=n; i++)scanf("%s",da[i]+1);num=0;int bx,by;for(int i=1; i<=n; i++)for(int j=1; j<=m; j++){if(da[i][j]=='@'){bx=i;by=j;break;}}memset(vis,0,sizeof(vis));dfs(bx,by);printf("%d\n",num);}return 0; }
View Code
转载于:https://www.cnblogs.com/BMan/p/3238104.html
POJ 1979 Red and Black DFS相关推荐
- POJ 1979 Red and Black (简单dfs)
题目: 简单dfs,没什么好说的 代码: #include <iostream> using namespace std; typedef long long ll; #define IN ...
- POJ 1979: Red and Black
2019独角兽企业重金招聘Python工程师标准>>> 题目在此 解题思路:直接 DFS 或 BFS 就行了. 之前被 STL 拖过后腿,偏执劲儿又上来了,这次刻意不用 std::q ...
- poj 1979 Red and Black(BFS)
题意:在一个矩形房间里面被瓦片覆盖,分为白色的和红色的,白的可以走,红的不能走,起始位置在白色的瓦片上,可以上下左右移动: ".":白色的瓦片: "#":红色的 ...
- Red and Black 红与黑 POJ 1979 深度搜索算法
原题 Red and Black 题意: 只走黑砖,不走红砖,最多能走多少 黑砖. 有一个长方形的房间,覆盖了正方形的磁砖.每块磁砖的颜色,要么是红色,要么是黑色.一名男子站在一块黑色的磁砖上.他 ...
- POJ NO.1979 Red and Black(DPS,搬黑砖,,,)
问题描述: 一个广场由黑砖和红砖组成,给你一个起点看你(起点算是黑砖)能办多少黑砖. 题目链接:点击打开链接 思路: 问题转换 ----> 把所有能到达的 ' . '(黑砖)全换成某个字符(如' ...
- POJ 1979 红与黑
题目地址: http://poj.org/problem?id=1979 或者 https://vjudge.net/problem/OpenJ_Bailian-2816 Red and Blac ...
- poj 1321 棋盘问题(dfs)
题目:http://poj.org/problem?id=1321 没什么难度,比较水... View Code 1 #include <iostream> 2 #include<c ...
- POJ 3087 Shuffle'm Up DFS
link:http://poj.org/problem?id=3087 题意:给你两串字串(必定偶数长),按照扑克牌那样的洗法(每次从S2堆底中拿第一张,再从S1堆底拿一张放在上面),洗好后的一堆可以 ...
- 数据结构——HDU1312:Red and Black(DFS)
题目描述 There is a rectangular room, covered with square tiles. Each tile is colored either red or blac ...
最新文章
- android源码分析-深入MessageQueue
- Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.
- AngularJs 常用指令标签
- 设计有三个窗口的框架结构网页_技术周刊丨钢框架结构直接分析设计与传统设计方法对比研究——恒荷载作用结果对比...
- Linux增加开放端口号
- Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换
- 东航期货模拟交易brockerid(期货公司的客户号)
- 2个维度5大方法,让你的微服务在K8s上跑起来
- 限制textarea的输入字数
- jquery easyui 表单结合对话框
- java教师考勤系统,javaweb课堂考勤管理系统
- ab 测试工具(Linux Windows)
- 微服务架构的理论基础 - 康威定律
- windows中如何识别RTL8111B/8111C/8111D/8111E/8111F网卡 转自网络
- 腾讯云短信服务申请+测试
- 时间换算 将毫秒换算成时间
- python中做为词云轮廓的图片,Python如何生成词云图片
- java引_JAVA中的引用
- 关于主从复制的超详细解析(全)
- 疫情数据可视化01---中国疫情时间序列数据整理(截至7月30号)
热门文章
- Python 集合(set) 介绍
- error: Microsoft Visual C++ 14.0 is required.
- vs2008试用期到期解决办法
- IBatisNet + Castle 开发相关文章
- python列表冒号逗号常规用法
- Windows 95被做成了一款软件,可玩扫雷和纸牌
- 面试了8家公司,他们问了我这些机器学习题目……
- python traceback most recent_pyspider启动错误: Traceback (most recent call last):
- crystal ball 软件_推荐10个堪称神器的软件工具
- 回答面试官:如何保证消息不丢失