## 蓝桥杯-岛屿个数

news/2024/6/20 21:00:30/文章来源:https://blog.csdn.net/Moliay/article/details/137139188

## solution

• 判断是否是子岛屿：如果该岛屿有边缘部分或者可以通过外海走到边缘部分说明不是子岛屿
``````#include<iostream>
#include<queue>
#include<string>
using namespace std;
const int maxn = 55;
int t, n, m, a[maxn][maxn], flag[maxn][maxn], vis[maxn][maxn], ans;
string s;
struct Node{int x, y;
}node, node1;
int X[8] = {-1, 1, 0, 0, 1, -1, 1, -1};
int Y[8] = {0, 0, -1, 1, 1, -1, -1, 1};void bfs(int x, int y){queue<Node> q;node.x = x;node.y = y;flag[x][y] = 1;q.push(node);while(!q.empty()){Node top = q.front();q.pop();for(int i = 0; i < 4; i++){int newx = top.x + X[i];int newy = top.y + Y[i];if(newx < 0 || newx >= m || newy < 0 || newy >= n) continue;if(flag[newx][newy] || !a[newx][newy]) continue;node1.x = newx;node1.y = newy;flag[newx][newy] = 1;q.push(node1);}}
}bool judge(int x, int y){for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){vis[i][j] = 0;}}queue<Node> q;node.x = x;node.y = y;vis[x][y] = 1;q.push(node);while(!q.empty()){Node top = q.front();q.pop();if(top.x == 0 || top.x == m - 1 || top.y == 0 || top.y == n - 1) return true;//能走到边缘就证明没有在环内for(int i = 0; i < 8; i++){int newx = top.x + X[i];int newy = top.y + Y[i];if(vis[newx][newy] || a[newx][newy]) continue;if(x < 0 || x >= m || y < 0 || y >= n) continue;node1.x = newx;node1.y = newy;q.push(node1);vis[newx][newy] = 1;}}return false;
}int main(){scanf("%d", &t);while(t--){scanf("%d%d", &m, &n);ans = 0;for(int i = 0; i < m; i++){cin >> s;for(int j = 0; j < n; j++){a[i][j] = s[j] - '0';flag[i][j] = 0;}}for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(!flag[i][j] && a[i][j]){bfs(i, j);if(judge(i, j)) ans ++;}}}printf("%d\n", ans);}	return 0;
}
``````

### Linux 系统 安装redis

Linux 系统 安装redis 下载redis安装包&#xff0c;并上传到服务器指定安装目录 一、解压安装包并安装 1、 tar xzf redis-4.0.9.tar.gz 2、先通过gcc -v是否有安装gcc&#xff0c;如果没有安装 统一安装Gcc rpm -Uvh *.rpm --nodeps --force 3、cd /usr/local/red…

### HBuilder uniapp发行h5遇到报错：此应用 DCloud appid 为 __UNI__95950AD ，您不是这个应用的项目成员。

uniapp打包遇到不是项目成员问题&#xff0c;如下截图&#xff1a; 解决方法如下&#xff1a; 打开项目的mainfest.json文件&#xff0c;在AppID位置点击重新获取&#xff0c;获取后重新点发行打包即可 另遇到HBuilder账号认证问题&#xff0c;如公司wifi打不开认证地址&#…

### Spring Boot项目启动速度优化

1、配置自动配置排除列表&#xff0c;减少启动自动配置扫描&#xff0c;配置项spring.autoconfigure.exclude 2、启动类添加索引注解Indexed&#xff0c;去除启动过程中 Components 的扫描步骤&#xff0c;直接从索引文件读取。 import org.springframework.stereotype.lndexe…

### 微信小程序开发【从入门到精通】——页面导航

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…