华为OD机试回顾
华为OD 机试题(Java实现)
小镇做题家,做题记录,微信:yatesKumi
祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区;整体上常年光照良好,但是也有一些地区光照不太好。某电力公司希望在这里建设多个 光伏Q电站,生产清洁能源对每平方公里的土地进行了发电评估,其中不能建设的区域发电量为0kw,可以发电的区域根据光照,地形等给出了每平方公里年发电量x千瓦。我们希望能够找到其中集中的矩形区域建设电站,能够获得良好的收益。
输入描述
第一行输入为调研的地区长、宽、以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量
之后每行为调研区域每平方公里的发电量例如,输入为:25261345823671
表示调研的区域大小为长2宽5的矩形,我们要建设的电站的边长为2,建设电站最低发电量为6
输出描述
输出为这样的区域有多少个
上述输入长宽为2的正方形满足发电量大于等于6的区域有4个。则输出为:4
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int k = scanner.nextInt();
int[][] a = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
a[i][j] = scanner.nextInt();
}
}
int cnt = 0;
for (int i = 0; i <= n - k; i++) {
for (int j = 0; j <= m - k; j++) {
int sum = 0;
for (int p = i; p < i + k; p++) {
for (int q = j; q < j + k; q++) {
sum += a[p][q];
}
}
if (sum >= k * k * k) {
cnt++;
}
}
}
System.out.println(cnt);
}
}