Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int n, g[101][101], d[101], s, f;
- bool used[101];
- queue <int> q;
- int main() {
- cin >> n;
- for (int i = 1; i <= n; ++i) {
- for (int j = 1; j <= n; ++j) {
- cin >> g[i][j];
- }
- }
- cin >> s >> f;
- used[s] = true;
- d[s] = 0;
- q.push(s);
- while (!q.empty()) {
- int v = q.front();
- q.pop();
- for (int to = 1; to <= n; ++to) {
- if (g[v][to] == 1 && !used[to]) {
- used[to] = true;
- d[to] = d[v] + 1;
- q.push(to);
- }
- }
- }
- if (!used[f]) {
- cout << -1;
- } else {
- cout << d[f];
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement