10/23华为od机试

1.输入:2,5,2,6
1,3,4,5,6
2,3,4,4,7
2.输出:4
题目描述:输入第一行 2代表宽,5代表长,2代表正方体的边长,6代表正方体内数字和>=6。
输入第二三行代表2*5的矩阵。
输出代表以2为边长的矩阵在2*5的矩阵上可以划出4个正方体,4个正方体内的数字和大于6

问在不同输入的情况下,可以输出多少个矩阵

例:输入:2,5,1,0
1,2,3,4,5
2,3,4,5,6
输出:10    (边长为1的矩阵,矩阵和>=0,这样的矩阵有10个)

求解!

#华为od机试#
全部评论
// 构造矩阵 Scanner sc = new Scanner(System.in); String[] split = sc.nextLine().split(","); int width = Integer.parseInt(split[0]); int length = Integer.parseInt(split[1]); int side = Integer.parseInt(split[2]); int sum = Integer.parseInt(split[3]); int[][] matrix = new int[width][length]; for (int i = 0; i < width; i++) {     String[] m = sc.nextLine().split(",");     for (int j = 0; j < m.length; j++) {         matrix[i][j] = Integer.parseInt(m[j]);     } }
1 回复 分享
发布于 2022-11-02 18:43 浙江
滑动时间窗
点赞 回复 分享
发布于 2022-10-25 00:30 北京
思路就是构造矩阵,然后再遍历 求正方形矩阵的和
点赞 回复 分享
发布于 2022-11-02 18:42 浙江
// 遍历矩阵 int count = 0; for (int i = 0; i <= width - side; i++) {     for (int j = 0; j <= length - side; j++) {         // 计算正方形矩阵的和         int mSum = 0;         for (int w = i; w < i + side; w++) {             for (int l = j;l < j + side; l++) {                 mSum += matrix[w][l];             }         }         if (mSum > sum) {             count++;         }     } } System.out.println(count);
点赞 回复 分享
发布于 2022-11-02 18:43 浙江
兄弟,机试过了没
点赞 回复 分享
发布于 2022-11-21 20:37 陕西

相关推荐

kyw_:接好运
点赞 评论 收藏
分享
评论
2
14
分享

创作者周榜

更多
牛客网
牛客企业服务