tien_noob

NDT

May 23rd, 2021 (edited)
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define task "TESTCODE"
  3. using namespace std;
  4. const int N = 1e3;
  5. int n;
  6. map<pair<int, int>, int > Map;
  7. int x[N + 1], y[N + 1];
  8. void read()
  9. {
  10.     cin >> n;
  11.     for (int i = 1; i <= n; ++ i)
  12.     {
  13.         cin >> x[i] >> y[i];
  14.     }
  15. }
  16. void solve()
  17. {
  18.     for (int i = 1; i <= n; ++ i)
  19.     {
  20.         for (int j = i + 1; j <= n; ++ j)
  21.         {
  22.             if (x[i] != x[j] || y[i] != y[j])
  23.             {
  24.                 long long x1 = x[j] - x[i], y1 = y[j] - y[i];
  25.                 long long tmp = __gcd(abs(x1), abs(y1));
  26.                 x1 /= tmp;
  27.                 y1 /= tmp;
  28.                 ++Map[{x1, y1}];
  29.             }
  30.         }
  31.     }
  32.     long long ans = 0;
  33.     for (int i = 1; i <= n; ++ i)
  34.     {
  35.         for (int j = i + 1; j <= n; ++ j)
  36.         {
  37.             if (x[i] != x[j] || y[i] != y[j])
  38.             {
  39.                 long long x1 = x[j] - x[i], y1 = y[j] - y[i];
  40.                 long long tmp = __gcd(abs(x1), abs(y1));
  41.                 x1 /= tmp;
  42.                 y1 /= tmp;
  43.                 ans += Map[{-y1, x1}];
  44.                 ans += Map[{y1, -x1}];
  45.             }
  46.         }
  47.     }
  48.     cout << ans/2;
  49. }
  50. int main()
  51. {
  52.     ios_base::sync_with_stdio(false);
  53.     cin.tie(nullptr);
  54.     //freopen(task".INP", "r", stdin);
  55.     //freopen(task".OUT", "w", stdout);
  56.     int t = 1;
  57.     bool typetest = false;
  58.     if (typetest)
  59.     {
  60.         cin >> t;
  61.     }
  62.     for (int _ = 1; _ <= t; ++ _ )
  63.     {
  64.         read();
  65.         solve();
  66.     }
  67.     return 0;
  68. }
Add Comment
Please, Sign In to add comment