文章
19
粉丝
0
获赞
159
访问
3.9k
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int dx[8] = {-1, -1, -1, 0, 0, 1, 1, 1};
int dy[8] = {-1, 0, 1, -1, 1, -1, 0, 1};
void dfs(vector<string> &maze,vector<vector<bool>> &visit,int x,int y)
{
int m=maze.size();
int n=maze[0].size();
for(int i=0;i<8;i++)
{
int nx=x+dx[i];
int ny=y+dy[i];
if(nx>=0&&nx<m&&ny>=0&&ny<n&&maze[nx][ny]=='@'&&!visit[nx][ny])
{
visit[nx][ny]=true;
dfs(maze,visit,nx,ny);
}
}
}
int oils(vector<string> &maze)
{
int m=maze.size();
int n=maze[0].size();
int result=0;
vector<vector<bool>> visit(m,vector<bool>(n,false));
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(maze[i][j]=='@'&&!visit[i][j])
{
result++;
visit[i][j]=true;
dfs(maze,visit,i,j);
}
}
}
return result;
}
int main()
{
...
登录后发布评论
暂无评论,来抢沙发