fork(3) download
  1. // Prostokaty
  2.  
  3. #include <iostream>
  4. #include <cmath>
  5.  
  6. void vCzyDrugiMiesciSieWPierwszym(int A, int B, int C, int D)// funkcja sprawdza czy drugi prostokat o podanych bokach miesci sie w pierwszym(nie dotykajac jego bokow) o podanych bokach i wypisuje TAK lub NIE
  7. {
  8. // ponizsze dwie instrukcje sortuja boki prostokatow w rosnaco
  9. if(A>B)
  10. {
  11. int zmiennaPomocnicza;
  12. zmiennaPomocnicza=A;
  13. A=B;
  14. B=zmiennaPomocnicza;
  15. }
  16. if(C>D)
  17. {
  18. int zmiennaPomocnicza;
  19. zmiennaPomocnicza=C;
  20. C=D;
  21. D=zmiennaPomocnicza;
  22. }
  23. //std::cout<<A<<" "<<B<<" " <<C<<" " << D<<std::endl;
  24.  
  25.  
  26. if(C<A && D<B)
  27. std::cout<<"TAK\n";
  28. else if( D>B && A>((2*D*C*B+(D*D - C*C)*sqrt(D*D+C*C -B*B))/(D*D +C*C)) )
  29. std::cout<<"TAK\n";
  30. else
  31. std::cout<<"NIE\n";
  32. }
  33.  
  34. int main()
  35. {
  36. int nLiczbaTestow;
  37. std::cin>>nLiczbaTestow;
  38.  
  39. int A, B, C, D; // A i B to wymiary bokow pierwszego prostokata, C i D to wymiary bokow drugiego prostokata
  40. for(int i=1; i<=nLiczbaTestow; i++)
  41. {
  42. std::cin>>A>>B>>C>>D;
  43. vCzyDrugiMiesciSieWPierwszym(A, B, C, D);
  44. }
  45.  
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0s 3464KB
stdin
4
10 11 7 8 
8 7 10 11
100 50 105 9
81 59 88 13
stdout
TAK
NIE
TAK
TAK