Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<bits/stdc++.h>
- using namespace std;
- const int N = 100;
- int M[N][N];
- int visited[N];
- int bfs(int s, int t, int count) {
- int queue[count + 2];
- int dp[count + 2];
- for (int i = 0; i < count+2; i++) {
- dp[i] = 0;
- queue[i] = 0;
- }
- int ind = 2, leveasa = 2;
- queue[1] = s;
- dp[s] = 1;
- visited[s] = 1;
- while (queue[1] > 0) {
- int v = queue[1];
- queue[1] = 0;
- for (int i = 1; i < N; i++) {
- if(M[v][i] != 0){
- dp[i] = dp[v] + dp[i];
- cout << dp[i] << " " << i << " " << v << endl;
- }
- if (M[v][i] != 0 && visited[i]== 0) {
- queue[ind] = i;
- ind++;
- visited[i] = 1;
- cout << "HUI " << dp[i] << " " << i << " " << v << " " << ind << endl;
- }
- }
- queue[1] = queue[leveasa];
- leveasa++;
- }
- return dp[t];
- }
- int main() {
- int a, b, count, res;
- count = 0;
- ifstream fin("fin.txt");
- while (fin >> a >> b) {
- M[a][b] = 1;
- count = max(max(a, b), count);
- }
- res = bfs( 1, 4, count);
- cout << res << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement