- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
#include <iostream>
#include <vector>
#include <queue>
#define $ int
using namespace std;
vector<$> q;
$ G[101][101], v[101], N, a, b, k, z;
void W($ p)
{
queue<$> O;
$ t;
O.push(p);
v[p] = 0;
while(!O.empty())
{
t = O.front();
O.pop();
for($ i = 0; i < N; i++)
if(G[t][i] && !v[i])
{
if(i == b - 1)
z = 1;
O.push(i);
v[i] = v[t] + 1;
}
}
}
main()
{
cin >> N;
for($ i = 0; i < N; i++)
for($ j = 0; j < N; j++)
cin >> G[i][j];
cin >> a >> b;
W(a - 1);
cout << (a ^ b ? z ? v[b - 1] : -1 : 0);
}
Комментарии (0) RSS
Добавить комментарий