Raslboyy

442

Mar 29th, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. //#pragma GCC optimize("O3")
  4. //#pragma GCC optimize("unroll-loops")
  5.  
  6. #define mp make_pair
  7. #define pb push_back
  8. #define eb emplace_back
  9. #define x first
  10. #define y second
  11. #define sz(x) (int)x.size()
  12. #define all(x) begin(x), end(x)
  13. #define rall(x) rbegin(x), rend(x)
  14. #define FOR(i,a,b) for (int i = (a); i < (b); i++)
  15. #define RFOR(i,b,a) for (int i = (b) - 1; i >= (a); i--)
  16.  
  17. using namespace std;
  18.  
  19. typedef unsigned long long ull;
  20. typedef long long ll;
  21. typedef long double ld;
  22. typedef pair<int, int> pi;
  23. typedef pair<ld, ld> pld;
  24. typedef pair<ll, ll> pl;
  25. typedef vector<int> veci;
  26. typedef vector<bool> vecb;
  27. typedef vector<vector<int>> vvi;
  28. typedef vector<vector<bool>> vvb;
  29.  
  30. const int INF_I = 1e9;
  31. const ll INF_LL = 1e18;
  32. const int MOD = 1000000007;
  33. const double eps = 1e-6;
  34.  
  35. ld s(pld a, pld b){
  36.     return sqrt((a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y));
  37. }
  38.  
  39. ld len(pld a){
  40.     return sqrt(a.x*a.x+a.y*a.y);
  41. }
  42.  
  43. int main() {
  44.  
  45.     ios::sync_with_stdio(false);
  46.     cin.tie(nullptr);
  47.     cout.tie(nullptr);
  48.  
  49.     pi a, b, c;
  50.     cin >> a.x >> a.y >> b.x >> b.y >> c.x >> c.y;
  51.     pld ab = {(b.x-a.x), b.y-a.y};
  52.     ab = {ab.x/len(ab), ab.y/len(ab)};
  53.     pld ac = {c.x-a.x, c.y-a.y};
  54.     ac = {ac.x/len(ac), ac.y/len(ac)};
  55.     pld a1 = {(2*a.x + ab.x + ac.x)/2, (2*a.y + ab.y + ac.y)/2};
  56.     pld ba = {-ab.x, -ab.y};
  57.     pld bc = {(c.x-b.x), c.y-b.y};
  58.     bc = {bc.x/len(bc), bc.y/len(bc)};
  59.     pld b1 = {(2*b.x + ba.x + bc.x)/2, (2*b.y + ba.y + bc.y)/2};
  60.     ld A1 = a.y-a1.y;
  61.     ld B1 = a1.x-a.x;
  62.     ld C1 = -(A1*a.x+B1*a.y);
  63.     ld A2 = b.y-b1.y;
  64.     ld B2 = b1.x-b.x;
  65.     ld C2 = -(A2*b.x+B2*b.y);
  66.     ld xx = -(C1 * B2 - C2 * B1) / (A1*B2-A2*B1);
  67.     ld yy = -(A1*C2-A2*C1)/(A1*B2-A2*B1);
  68.     cout << fixed << xx << " " << yy << "\n";
  69.  
  70.     return 0;
  71. }
Add Comment
Please, Sign In to add comment