深搜 城堡

来源:互联网 发布:阿里云数据同步 编辑:程序博客网 时间:2024/06/08 18:59
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <stack>using namespace std;int R,C;int rooms[60][60];int color[60][60];int maxRoom=0,roomNum=0;int roomArea;void dfs(int i,int k){    if(color[i][k])        return ;    ++roomArea;    color[i][k]=roomNum;    if(rooms[i][k]&1==0)  dfs(i,k-1);    if(rooms[i][k]&2==0)  dfs(i-1,k);    if(rooms[i][k]&4==0)  dfs(i,k+1);    if(rooms[i][k]&8==0)  dfs(i+1,k);}int main(){    int i,j;    cin>>R>>C;    for(i=0; i<R; i++)        for(j=0; j<C; j++)            cin>>rooms[i][j];    memset(color,0,sizeof(color));    for(i=0; i<R; i++)        for(j=0; j<C; j++)        {            if(!color[i][j])            {                ++roomNum;                roomArea=0;                dfs(i,j);                maxRoom=max(roomArea,maxRoom);            }        }    cout<<roomNum<<endl;    cout<<maxRoom<<endl;}
在coursera上看了视频,后悔没让前男友教我深搜

0 0
原创粉丝点击