AC代码(其实就是AC行和BD列的相交的部分的中间值)
Select Code
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("important.in","r", stdin);
int t;
int n, m, k, q, A, B, C, D, i, j;
int a[40000+10];
int mp[210][210];
scanf("%d",&t);
for(k = 1;k<=t;k++)
{
memset(mp, 0, sizeof(mp));
scanf("%d %d %d",&n,&m,&q);
for(i = 0;i<n;i++)
{
for(j = 0;j<m;j++)
{
scanf("%d",&mp[i][j]);
}
}
printf("Case %d:\n", k);
while(q--)
{
memset(a, 0, sizeof(a));
int h = 0;
scanf("%d %d %d %d", &A, &B, &C, &D);
A--, B--, C--, D--;
for(i = A;i<=C;i++)
{
for(j = B;j<=D;j++)
{
a[h++] = mp[i][j];
}
}
sort(a, a+h);
printf("%d\n", a[h/2]);
}
}
return 0;
}