【循环5】最大值查询问题③
前言
二维矩阵:
C++中的二维矩阵可以理解为一个矩阵或表格,它由行和列组成。二维矩阵可以用数组来表示,在C++中,二维数组是一种存储数据的结构,它具有两个索引:一个表示行,另一个表示列。
题目描述:
给定一个整数矩阵 matrix,您需要处理多个查询。每个查询包含一个子矩阵的左上角和右下角的坐标 [(x1,y1),(x2,y2)],请您找出该子矩阵内的最大值。
输入:
- 第一行输入两个整数 n 和 m (1≤n,m≤100),分别表示矩阵的行数和列数。
- 接下来 n 行,每行输入 m 个整数 matrix[i][j] (1≤matrix[i][j]≤106),表示矩阵的元素。
- 第 n+2 行输入一个整数 q (1≤q≤100),表示查询的次数。
- 接下来 q 行,每行输入四个整数 x1,y1,x2,y21<=x1<=x2<=n,1<=y1<=y2<=m,表示查询的子矩阵的左上角和右下角的坐标(注意:下标从 1 开始计数)。
输出:
对于每个查询,输出一个整数,表示该子矩阵内的最大值。
示例:
输入:
3 3
1 2 3
4 5 6
7 8 9
2
1 1 2 2
1 2 3 3
输出:
5
9
提示:
- 查询的子矩阵包括左上角和右下角的元素。
- 由于矩阵下标从 1 开始,注意转换下标。