CPP   67
BAI 2
Guest on 18th September 2023 03:59:32 PM


  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     double x_max, y_max,x_min,y_min;
  7.     cin >> x_max >> y_max >> x_min >> y_min;
  8.  
  9.     double m,n,r; // O(m,n), Radius = r
  10.     cin >> m >> n >> r;
  11.  
  12.     double dis;// khoang cach tu tam O cua hinh tron den hinh chieu cua no len 1 canh cua hinh chu nhat
  13.  
  14.     if (n > y_min and n < y_max and m > x_min and m < x_max) // TH tam O nam trong hinh chu nhat
  15.         cout << "Va cham";
  16.  
  17.     else if (m > x_min and m < x_max)
  18.     {
  19.         if (n <= y_min)
  20.             dis = sqrt(pow(n - y_min,2));
  21.         else
  22.             dis = sqrt((n- y_max)*(n-y_max));
  23.  
  24.         if (dis <= r)
  25.             cout << "Va cham";
  26.         else cout << "Chua va cham";
  27.     }
  28.  
  29.     else if (n > y_min and n < y_max)
  30.     {
  31.         if (m >= x_max)
  32.             dis = sqrt((m - x_max)*(m-x_max));
  33.         else dis = sqrt(pow(m - x_min,2));
  34.  
  35.         if (dis <= r)
  36.             cout << "Va cham ";
  37.         else cout << "Chua va cham ";
  38.     }
  39.    
  40.     else
  41.     {
  42.         double OA = sqrt(pow(m - x_max,2) + pow(n - y_max,2));
  43.         double OB = sqrt(pow(m - x_min,2) + pow(n - y_min,2));
  44.         double OC = sqrt(pow(m - x_min,2) + pow(n - y_max,2));
  45.         double OD = sqrt(pow(m - x_max,2) + pow(n - y_min,2));
  46.  
  47.         if (OA <= r || OB <= r || OC <= r || OD <= r)
  48.             cout << "Va cham";
  49.         else cout << "Chua va cham";
  50.     }
  51.  
  52.     return 0;
  53. }

Raw Paste

Login or Register to edit or fork this paste. It's free.