#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int step[1009];
int q[5000];
int a[1009][1009];
int flag[1000];
int main()
{
memset(step,10,sizeof(step));
int m,n,k;
scanf("%d%d%d",&k,&m,&n);
if(m==n)
{
cout<<0;
return 0;
}
for(int i=1;i<=k;i++)
for(int j=1;j<=k;j++)
scanf("%d",&a[i][j]);
int head=0;
int tail=1;
q[tail]=m;
step[m]=0;
int f=0;
while(head<=tail)
{
head++;
if(flag[q[head]]==1)
continue;
for(int i=1;i<=k;i++)
if(a[q[head]][i]==1)
{
q[++tail]=i;
step[i]=min(step[i],step[q[head]]+1);
}
flag[q[head]]=1;
}
cout<<step[n]-1<<endl;
return 0;
}
关系网络
最新推荐文章于 2022-02-22 21:49:33 发布