博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1164城堡问题(DFS)
阅读量:5879 次
发布时间:2019-06-19

本文共 1047 字,大约阅读时间需要 3 分钟。

#include 
#include
using namespace std;int R,C; //行列数int rooms[60][60];int color[60][60]; //方块是否被标记过int maxRoomArea=0,roomNum=0;int roomArea;void DFS(int i,int j){ if(color[i][j]) //该点已经被访问过 return; roomArea++; color[i][j]=roomNum; //标记该点为已访问过 if((rooms[i][j] & 1)==0) DFS(i,j-1); //西面没有墙,向west走 if((rooms[i][j] & 2)==0) DFS(i-1,j); //北面没有墙,向north走 if((rooms[i][j] & 4)==0) DFS(i,j+1); //东面没有墙,向east走 if((rooms[i][j] & 8)==0) DFS(i+1,j); //南面没有墙,向south走}int main(){ cin>>R>>C; for(int i=1; i<=R; i++) for(int j=1; j<=C; j++) cin>>rooms[i][j]; memset(color,0,sizeof(color)); for(int i=1; i<=R; i++) for(int j=1; j<=C; j++) { if(color[i][j]==0) { roomArea=0; roomNum++; DFS(i,j); maxRoomArea=max(roomArea,maxRoomArea); } } cout<
<

转载于:https://www.cnblogs.com/zhanyeye/p/9746092.html

你可能感兴趣的文章
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
查看>>
Ubuntu ctrl+alt会导致窗口还原的问题
查看>>
第四十期百度技术沙龙笔记整理
查看>>
推荐系统那点事 —— 基于Spark MLlib的特征选择
查看>>
linux 下RTL8723/RTL8188调试记录(命令行)【转】
查看>>
開始新的征程
查看>>
SpringMVC案例1——对User表进行CRUD操作
查看>>
看雪CTF第十四题
查看>>
模拟生命_吸烟致癌?
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>
Maven 传递依赖冲突解决(了解)
查看>>
Zeppelin的入门使用系列之使用Zeppelin运行shell命令(二)
查看>>