📄 pku2019.cpp
字号:
#include <stdio.h>
#define TheMax 10000000
#define TheMin 0
int num[250][250], min[250][250], max[250][250];
int N, B, K;
void in()
{
int i, j;
scanf("%d %d %d", &N, &B, &K);
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
scanf("%d", &num[i][j]);
}
}
}
void calc()
{
int i, j, k;
for (i = 0; i < N; i++)
{
for (j = 0; j <= N - B; j++)
{
max[i][j] = TheMin;
min[i][j] = TheMax;
for (k = 0; k < B; k++)
{
if (num[i][j + k] < min[i][j])
{
min[i][j] = num[i][j + k];
}
if (num[i][j + k] > max[i][j])
{
max[i][j] = num[i][j + k];
}
}
}
}
for (i = 0; i <= N - B; i++)
{
for (j = 0; j <= N - B; j++)
{
for (k = 1; k < B; k++)
{
if (min[i][j] > min[i + k][j])
{
min[i][j] = min[i + k][j];
}
if (max[i][j] < max[i + k][j])
{
max[i][j] = max[i + k][j];
}
}
}
}
}
int main()
{
int i, j;
in();
calc();
while (K--)
{
scanf("%d%d", &i, &j);
printf("%d\n", max[i - 1][j - 1] - min[i - 1][j - 1]);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -