Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- const int INF = (int)1e9;
- main()
- {
- int n, m, ans = 0;
- cin >> n;
- vector<vector<int>> g(n + 1, vector<int> (n + 1));
- for(int i = 1; i <= n; i++)
- for(int j = 1; j <= n; j++)
- cin >> g[i][j];
- int start, finish;
- cin >> start >> finish;
- vector<int> p(n + 1, INF);
- p[start] = 0;
- queue<int> q;
- q.push(start);
- while(!q.empty())
- {
- int cur = q.front();
- q.pop();
- for(int i = 1; i <= n; i++)
- if(g[cur][i] && p[i] == INF)
- {
- p[i] = p[cur] + 1;
- q.push(i);
- }
- }
- if(p[finish] == INF)
- cout << -1;
- else
- cout << p[finish];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement