一个简单的深度搜索, 这个原来看起来可难了
来源:互联网 发布:java无参构造方法举例 编辑:程序博客网 时间:2024/05/29 23:44
#include <stdio.h>#define MAX_N 100#define MAX_M 100using namespace std;int N,M;char field[MAX_N][MAX_M+1] = {{'.','W','.','W','.','.','.'},{'.','W','.','W','.','.','.'},{'.','W','.','W','.','.','.'},{'.','W','.','W','.','.','.'},{'.','W','.','W','.','.','.'},{'.','W','.','W','.','.','.'},{'.','W','.','W','.','.','.'},}; // 园子// 现在位置(x,y)void dfs(int x,int y){ // 将现在的位置替换为. field[x][y] = '.'; // 循环将遍历移动的8个方向 for (int dx = -1;dx <= 1;dx ++){ for (int dy = -1;dy <= 1;dy ++){ // 向x方向移动dx,向y方向移动dy, // 移动的结果为(nx,ny) int nx = x + dx,ny = y + dy; // 判断(nx,ny)是不是在园子里,以及是否有积水 if (0 <= nx && nx < N && 0 <= ny && ny < M && field[nx][ny] == 'W') dfs(nx,ny); } } return ;}int main(){ int res = 0; scanf("%d %d",&N,&M); for (int i = 0;i < N;i ++){ for (int j = 0;j < M;j ++){ if (field[i][j] == 'W'){ // 从有W的地方开始dfs dfs(i,j); res ++; } } } printf("%d\n",res);}
阅读全文
0 0
- 一个简单的深度搜索, 这个原来看起来可难了
- CTF 这个看起来有点简单
- CTF 这个看起来有点简单!
- ctf-----这个看起来有点简单
- 这个看起来有点简单!--实验吧
- 写了一个10进制转换程序,无意发现JAVA int 类型的范围原来是这个!
- 写了一个比较简单的网内搜索!哈哈
- 约束条件变了,原来的收益,反而可…
- 实验吧ctf-web题:这个看起来有点简单
- 实验吧 Web 这个看起来有点简单! Writeup
- 原来是这个样子的!
- 一个简单的DFS(深度优先搜索)算法加剪枝技术的程序演示
- 简单的深度搜索--素环问题
- 简单的深度优先搜索HDU1045
- HDU--杭电--1518--Square--深度优先搜索--这个不是水题了
- 可控制遍历深度的文件搜索类
- 一个样式看起来比较丰富的弹幕demo。使用了DanmakuFlameMaster弹幕引擎
- 简单深度优先搜索
- C# ToString() 格式化
- QBot:基于SmartQQ协议的QQ机器人
- java面试十个小技巧
- 最新多线程下载Demo
- 1.2.2 Linux C 语言编程之旅
- 一个简单的深度搜索, 这个原来看起来可难了
- matplotlib scatter( ) 绘制散点图
- GC
- java反射学习笔记(1)-----Class类的使用
- 再探Java——大纲
- 北京师范大学第十四届ACM决赛 I Cactus Exploration 菊花图,仙人掌树
- POJ 1797 Heavy Transportation
- 跨平台开源项目Ngui【入门】
- matplotlib plot( ) 绘制简单折线图