Advertisement
stepan12123123123

Untitled

Jun 1st, 2023
843
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.23 KB | None | 0 0
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3.  
  4. using namespace std;
  5. const int N = 100;
  6. int M[N][N];
  7. int visited[N];
  8.  
  9. int bfs(int s, int t, int count) {
  10.     int queue[count + 2];
  11.     int dp[count + 2];
  12.     for (int i = 0; i < count+2; i++) {
  13.         dp[i] = 0;
  14.         queue[i] = 0;
  15.     }
  16.     int ind = 2, leveasa = 2;
  17.     queue[1] = s;
  18.     dp[s] = 1;
  19.     visited[s] = 1;
  20.     while (queue[1] > 0) {
  21.         int v = queue[1];
  22.         queue[1] = 0;
  23.         for (int i = 1; i < N; i++) {
  24.             if(M[v][i] != 0){
  25.                 dp[i] = dp[v] + dp[i];
  26.                 cout << dp[i] <<  " " << i << " " << v << endl;
  27.             }
  28.             if (M[v][i] != 0 && visited[i]== 0) {
  29.                 queue[ind] = i;
  30.                 ind++;
  31.                 visited[i] = 1;
  32.                 cout << "HUI " << dp[i] <<  " " << i << " " << v << " " << ind << endl;
  33.             }
  34.         }
  35.         queue[1] = queue[leveasa];
  36.         leveasa++;
  37.     }
  38.     return dp[t];
  39. }
  40.  
  41. int main() {
  42.     int a, b, count, res;
  43.     count = 0;
  44.     ifstream fin("fin.txt");
  45.     while (fin >> a >> b) {
  46.         M[a][b] = 1;
  47.         count = max(max(a, b), count);
  48.     }
  49.     res = bfs( 1, 4, count);
  50.     cout << res << endl;
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement