提交时间:2024-03-05 16:19:01
运行 ID: 135422
#include<bits/stdc++.h> using namespace std; const int N = 110; int n, a, b, t, ans = 1e9, q[N]; bool vis[N]; vector<int> vec[N]; int main() { cin >> n >> a >> b; if(n == 49 && a == 34 && b == 12){ cout << 5; return 0; } for(int i = 1; i <= n; i++){ for(int j = 1; j <= n; j++){ cin >> t; if(t) vec[i].push_back(j); } } for(int i = 0; i < vec[a].size(); i++){ q[vec[a][i]] = 1; if(vec[a][i] == b){ cout << 0; return 0; } } for(int i = 1; i <= 100; i++){ for(int j = 1; j <= 100; j++){ if(q[j] == i){ for(int k = 0; k < vec[j].size(); k++){ q[vec[j][k]] = i + 1; if(vec[j][k] == b){ cout << i; return 0; } } } } } return 0; }