大佬蒟蒻又双叒叕来写题解了!!!

输入一个5*5的矩阵,要求数字1离坐标(3,3)的最短距离是多少。

话不多说,直接上代码!

#include<iostream>
#include<cmath>//这里用cmath文件头,因为后面需要用到abs语句
using namespace std;
int a[6][6],x=2147483647,t=1,k;//t用来记录有没有1,k用来表示每个1到中心点的距离
int i,j;
void work()
{
    for(i=1;i<=5;i++)
        for(j=1;j<=5;j++)
        {
            cin>>a[i][j];//输入
            if(a[i][j])//判断这个数是否为1
            {
                t=0,k=abs(i-3)+abs(j-3);
                //1出现,t标记为0,然后求出点(i,j)离点(3,3)的距离
                x=min(x,k);//获取最小值
            }
        }
    if(t)cout<<0;//若t为1,则并没有出现1
    else cout<<x;
}
int main()
{
    work();//执行以上void的语句

    return 0;//完美结束
}