fork(1) download
  1. #include <iostream>
  2. #include <ctime>
  3. using namespace std;
  4.  
  5. const int MAX_DIMENSION = 100;
  6.  
  7. bool test(double a, double b, double p, double q, double r, double s) {
  8. return (a > p && a > r && b > (q + s)) ||
  9. (a > q && a > r && b > (p + s)) ||
  10. (a > p && a > s && b > (q + r)) ||
  11. (a > q && a > s && b > (p + r)) ||
  12. (b > p && b > r && a > (q + s)) ||
  13. (b > q && b > r && a > (p + s)) ||
  14. (b > p && b > s && a > (q + r)) ||
  15. (b > q && b > s && a > (p + r));
  16. }
  17.  
  18. bool brovko(double a, double b, double p, double q, double r, double s) {
  19. if ((q>=b && q>=a) || (s>=b && s>=a) || (r>=a && r>=b) || (p>=a && p>=b))
  20. {
  21. return false;
  22. }
  23. else
  24. {
  25. if((p+r<2*a && q+s<b) || (q+s<2*b && p+r<a))
  26. {
  27. return true;
  28. }
  29. else if((p+r<2*b && q+s<a) || (q+s<2*a && p+r<b))
  30. {
  31. return true;
  32. }
  33. else if((r+q<2*b && s+p<a) || (p+s<2*a && r+q<b))
  34. {
  35. return true;
  36. }
  37. else if((p+s<2*b && r+q<a) || (q+r<2*a && p+s<b))
  38. {
  39. return true;
  40. }
  41. else
  42. {
  43. return false;
  44. }
  45. }
  46. }
  47.  
  48. double rnd () {
  49. return 1. + rand() % (MAX_DIMENSION - 1);
  50. }
  51.  
  52. int main(void)
  53. {
  54. double a,b,p,q,r,s;
  55. srand( time( 0 ) );
  56. do {
  57. a = rnd(); b = rnd(); p = rnd(); q = rnd(); r = rnd(); s = rnd();
  58. } while (test(a,b,p,q,r,s) == brovko(a,b,p,q,r,s));
  59. printf ("%g %g %g %g %g %g: Brovko say %s, but must be %s.", a,b,p,q,r,s, brovko(a,b,p,q,r,s)? "yes": "no", test(a,b,p,q,r,s)? "yes": "no");
  60. }
Success #stdin #stdout 0s 3344KB
stdin
Standard input is empty
stdout
87 94 88 58 84 30: Brovko say yes, but must be no.