Mahmoud_Hawara

Untitled

Mar 15th, 2022
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define IO ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  4. const long long N = 2e3 + 5, MOD = 1e9 + 7, OO = 1e18;
  5. const double PI = acos(-1);
  6. const int dx[4] = {0, 0, 1, -1};
  7. const int dy[4] = {1, -1, 0, 0};
  8.  
  9. long long n, m, s, t, u, v;
  10. vector<long long>g[N];
  11. pair<long long, long long>sd[N];
  12. bool vis[N][N];
  13.  
  14. pair<long long, long long> bfs(long long x) {
  15.     bool used[n + 1] = {};
  16.     pair<long long, long long>ret = {0, 0};
  17.     queue<long long>q;
  18.     q.push(x);
  19.     used[x] = 1;
  20.     int l = 1, rep;
  21.     while (rep = q.size()) {
  22.         while (rep--) {
  23.             long long y = q.front();
  24.             q.pop();
  25.             for (auto z : g[y])
  26.                 if (!used[z]) {
  27.                     q.push(z);
  28.                     used[z] = 1;
  29.                     if (z == s)ret.first = l;
  30.                     else if (z == t)ret.second = l;
  31.                     if (used[s] && used[t])return ret;
  32.                 }
  33.         }  
  34.         l++;
  35.     }
  36.     return {0, 0};
  37. }
  38.  
  39. int main() {
  40.     IO
  41.     cin >> n >> m >> s >> t;
  42.     for (int i = 1; i <= m; i++) {
  43.         cin >> u >> v;
  44.         g[u].push_back(v);
  45.         g[v].push_back(u);
  46.         vis[u][v] = vis[v][u] = 1;
  47.     }
  48.     long long ans = 0;
  49.     for (int i = 1; i <= n; i++) {
  50.         for (int j = 1; j <= n; j++) {
  51.             if (i == j || vis[i][j])continue;
  52.             vis[i][j] = vis[j][i] = 1;
  53.             long long c1 = sd[i].first + sd[j].second + 1;
  54.             long long c2 = sd[i].second + sd[j].first + 1;
  55.             ans += (min(c1, c2) <= sd[s].second);
  56.         }
  57.     }
  58.     cout << ans;
  59.     return 0;
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment