#include<stdio.h>
#include<math.h>
int main()
{
int x1,x2,y1,y2;
int m,n,i1,i2,x,y,BJ_X,BJ_Y;
int max=9999999;
int s=0;
int min1,min2,min;
int a[200][200],b[200][200];
scanf("%d %d",&x1,&y1);
for(m=1;m<=x1;m++)
{
for(n=1;n<=y1;n++)
{
scanf("%d",&a[m][n]);
}
}
scanf("%d %d",&x2,&y2);
for(m=1;m<=x2;m++)
{
for(n=1;n<=y2;n++)
{
scanf("%d",&b[m][n]);
}
}
min1=x1-x2+1;
min2=y1-y2+1;
for(i1=1;i1<=min1;i1++)
{
for(i2=1;i2<=min2;i2++)
{
for(x=i1;x<i1+x2;x++)
{
for(y=i2+y2-1;y<=y2;y++)
{
s=s+fabs(a[x][y]-b[x][y]);
}
}
if(max>s)
{
max=s;
BJ_X=i1;
BJ_Y=i2;
}
}
}
for(x=BJ_X;x<BJ_X+x2;x++)
{
for(y=BJ_Y+y2-1;y<=y2+1;y++)
{
printf("%d ",a[x][y]);
}
printf("\n");
}
return 0;
}
问题想复杂了,明天继续写