一个人也要好好吃饭呀


私信TA

用户名:uq_14560539153

访问量:3732

签 名:

等  级
排  名 1032
经  验 3302
参赛次数 0
文章发表 25
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

#define MAX_INT ~((unsigned int)0)>>1;//输出int型可以表示的最大值


int main()

{

    

    int i,j,k=0,h=0;

    int m,n;

    int r,s;

    int a[101][101]={0};

    int b[101][101]={0};

    int c[100][100]={0};

    int row,line;

    int sum=0;

    int min =MAX_INT;


    scanf("%d %d",&m,&n);

    for(i=0;i<m;i++)

    {

        for(j=0;j<n;j++)

        {

            scanf("%d",&a[i][j]);

        }

        scanf("\n");

    }

    scanf("%d %d",&r,&s);

    for(i=0;i<r;i++)

    {

        for(j=0;j<s;j++)

        {

            scanf("%d",&b[i][j]);

        }

        scanf("\n");

    }

     for(i=0;i<m-r+1;i++)

    {

        for(j=0;j<n-s+1;j++)

        {

            sum=0;

            for(k=0;k<r;k++)

            {

                for(h=0;h<s;h++)

                {

                    c[k][h]=a[i+k][j+h];

                    sum=sum+abs(c[k][h]-b[k][h]);

                }

                

            }

            if(sum<min)

            {

                min=sum;

                row=i;

                line=j;

            }

        }

    }

    for(i=0;i<r;i++)

    {

        for(j=0;j<s;j++)

        {

            printf("%d ",a[i+row][j+line]);

        }

        printf("\n");

        

    }

    

    return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »