pastebin

checkx
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. long long x1,x2,x3,x4,y1,y2,y3,y4,t;
  5. double m;
  6.  
  7. bool checkx(long long x){
  8.         float tmp=m*(x-x3)+y3;
  9.         if(abs(y1-tmp)+abs(y2-tmp)==abs(y1-y2))return 1;
  10.         return 0;
  11. }
  12.  
  13. bool checky(long long y){
  14.         float tmp=(y-y3)/m+x3;
  15.         if(abs(x1-tmp)+abs(x2-tmp)==abs(x1-x2))return 1;
  16.         return 0;
  17. }
  18.  
  19. bool midx(long long tmp){
  20.         return abs(x1-tmp)+abs(x2-tmp)==abs(x1-x2);
  21. }
  22.  
  23. bool midy(long long tmp){
  24.         return abs(y1-tmp)+abs(y2-tmp)==abs(y1-y2);
  25. }
  26.  
  27. int main() {
  28.         cin >> t;
  29.         while(t--){
  30.                 cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;
  31.                 m=(y3-y4);
  32.                 m/=(x3-x4);
  33.                 if(x1<x2)swap(x1,x2);
  34.                 if(y1<y2)swap(y1,y2);
  35.                 if(midx(x3)&&midx(x4)&&midy(y3)&&midy(y4))cout << "TIDAK\n";
  36.                 else if(checkx(x1))cout << "YA\n";
  37.                 else if(checkx(x2))cout << "YA\n";
  38.                 else if(checky(y1))cout << "YA\n";
  39.                 else if(checky(y2))cout << "YA\n";
  40.                 else cout << "TIDAK\n";
  41.         }
  42. }
Parsed in 0.010 seconds