计算1的数量
1. 计算1的数量
题目ID:9809必做题100分
最新提交:
Accepted
100 分
历史最高:
Accepted
100 分
时间限制: 1000ms
空间限制: 524288kB
题目描述
给定一个n*m的二进制矩阵,请你数一数矩阵中完全被0上下左右包围的1的数目。
输入格式
第一行两个整数n和m(3<=n,m<=100)
接下来n行,每行m个0或1的整数。
输出格式
输出一个整数代表结果
样例
Input 1
4 4
1 0 1 1
0 1 0 0
1 0 1 0
0 0 0 1
Output 1
2
样例解释
样例解释:
样例中有两个1是完全被0包围的。
代码:
#include <bits/stdc++.h>
#include <vector>using namespace std;int main()
{int n, m;cin >> n >> m; // 4 4int cnt = 0;int a[105][105];for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){cin >> a[i][j];}}//for (int i = 2; i <= n - 1; i++){for (int j = 2; j <= m - 1; j++){if (a[i][j] == 1 && a[i - 1][j] == 0 && a[i + 1][j] == 0 && a[i][j - 1] == 0 && a[i][j + 1] == 0){cnt++;}}}cout << cnt << endl;return 0;
}