[蓝桥杯2018初赛]全球变暖
发布日期:2021-05-15 07:31:21 浏览次数:22 分类:精选文章

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

#include
#include
#include
using namespace std;int ans1 = 0;int ans2 = 0;int b[1005][1005] = { 0 };char a[1005][1005];int c[1005];int flag = 0;void dfs(int x, int y,int k){ if (a[x][y] != '#'||b[x][y]==1) return; if (a[x][y] == '#' && a[x + 1][y] == '#' && a[x - 1][y] == '#' && a[x][y + 1] == '#' && a[x][y - 1] == '#') { c[k] = 1; } flag = 1; b[x][y] = 1; dfs(x + 1, y,k); dfs(x - 1, y,k); dfs(x, y - 1,k); dfs(x, y + 1,k);}int main(int argc, char const* argv[]){ int n; cin >> n; int cnt = 0; for (int i = 0; i <= n; i++) for (int j = 0; j <= n; j++) { a[i][j] = '#'; } for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) { cin >> a[i][j]; } for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) { flag = 0; dfs(i, j,ans1); if (flag == 1) { ans1++; } } for (int i = 0; i < ans1; i++) { if (c[i] == 1) ans2++; } cout << ans1 - ans2 << endl; /*for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { cout << a[i][j]; } cout << endl; }*/ return 0;}
上一篇:2020-11-04 [蓝桥杯2018决赛]阅兵方阵
下一篇:[蓝桥杯2018初赛]测试次数

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月17日 11时19分12秒