优客文库提供全面的范文格式和文档模板,包括申请书、合同、借据、证明、求职信等,助力您快速撰写专业文档。

4299. 范围内最大值 编程基础数组和二维数组 题目详情 测评详情 提交记录 输入n行n列的二维整型数组,给定坐标x,求坐标和其上、下、左、右、左上、左下、右上、右下中的最大值。 输入格式:

来自 河南省郑州市 的网友 时间: 热度:°C 加入收藏 我要投稿 点赞()
解析:首先需要读取输入的二维数组,然后根据给定的坐标x,计算其上、下、左、右、左上、左下、右上、右下中的最大值。

代码如下:

```python
def max_value(matrix, x):
n = len(matrix)
max_val = matrix[x][x]
directions = [(0, 1), (0, -1), (1, 0), (-1, 0), (-1, -1), (-1, 1), (1, -1), (1, 1)]

for direction in directions:
y, x = x + direction[0], x + direction[1]
if 0 <= y < n and 0 <= x < n:
max_val = max(max_val, matrix[y][x])

return max_val

# 读取输入
n = int(input())
matrix = []
for _ in range(n):
row = list(map(int, input().split()))
matrix.append(row)
x, y = map(int, input().split())

# 计算最大值
result = max_value(matrix, x - 1)
print(result)
```

在这个代码中,我们首先定义了一个函数`max_value`,它接受一个二维数组和一个坐标x作为输入,然后计算该坐标及其上、下、左、右、左上、左下、右上、右下中的最大值。接下来,我们读取输入的二维数组和坐标x,最后调用`max_value`函数计算结果并输出。
221381
领取福利

微信扫码领取福利

微信扫码分享