Statistics

Problem Statement for "IsItASquare"

Problem Statement

It's a bird! It's a plane! No, it's a square in a plane! Wait, is it really a square?

There are four distinct points in the plane. You are given their coordinates in the int[]s x and y: for each i between 0 and 3, inclusive, there is a point at (x[i], y[i]).

Return "It's a square" (quotes for clarity) if the four points are the vertices of a square. Otherwise, return "Not a square".

Definition

Class:
IsItASquare
Method:
isSquare
Parameters:
int[], int[]
Returns:
String
Method signature:
String isSquare(int[] x, int[] y)
(be sure your method is public)

Constraints

  • x will contain 4 elements.
  • y will contain 4 elements.
  • Each element of x will be between 0 and 10,000, inclusive.
  • Each element of y will be between 0 and 10,000, inclusive.
  • The four points described by x and y will be distinct.

Examples

  1. {0, 0, 2, 2}

    {0, 2, 0, 2}

    Returns: "It's a square"

  2. {0, 1, 5, 6}

    {1, 6, 0, 5}

    Returns: "It's a square"

    Note that the sides of the square do not have to be parallel to the coordinate axes. Also note that the order in which the points are given does not have to be the same as the order in which you would encounter them when following the boundary of the square.

  3. {0, 0, 7, 7}

    {0, 3, 0, 3}

    Returns: "Not a square"

  4. {0, 5000, 5000, 10000}

    {5000, 0, 10000, 5000}

    Returns: "It's a square"

  5. {1, 2, 3, 4}

    {4, 3, 2, 1}

    Returns: "Not a square"

  6. {0, 5, 3, 8}

    {0, 0, 4, 4}

    Returns: "Not a square"

  7. {4687,3589,6666,1610}

    {1282,6338,4359,3261}

    Returns: "It's a square"

  8. {5014,4801,3759,3545}

    {3041,4296,2827,4082}

    Returns: "Not a square"

  9. {956,7558,9151,5715}

    {5816,9036,3534,2432}

    Returns: "Not a square"

  10. {6427,2708,4387,4748}

    {6648,6287,8327,4608}

    Returns: "It's a square"

  11. {4129,844,1506,3467}

    {3682,1721,4344,1060}

    Returns: "Not a square"

  12. {3757,150,902,2887}

    {207,7037,4294,4431}

    Returns: "Not a square"

  13. {3420,8335,9624,4709}

    {8485,9774,4859,3570}

    Returns: "It's a square"

  14. {3931,657,1015,3574}

    {4194,1634,4551,1277}

    Returns: "Not a square"

  15. {5281,9805,9834,8392}

    {8561,2366,222,4381}

    Returns: "Not a square"

  16. {2224,345,1579,3458}

    {515,1749,3628,2394}

    Returns: "It's a square"

  17. {3484,4145,2920,2259}

    {1495,2719,3380,2155}

    Returns: "Not a square"

  18. {3525,6073,9111,3432}

    {8710,8011,6959,8549}

    Returns: "Not a square"

  19. {1297,3847,122,2672}

    {3546,4721,6096,7271}

    Returns: "It's a square"

  20. {3134,4126,5650,4658}

    {2484,4008,3017,1492}

    Returns: "Not a square"

  21. {2455,126,9188,6644}

    {4686,6260,629,2446}

    Returns: "Not a square"

  22. {3537,3634,3150,4021}

    {2783,1912,2299,2396}

    Returns: "It's a square"

  23. {3391,4206,2779,4817}

    {2586,548,1159,1975}

    Returns: "Not a square"

  24. {9771,4422,2782,9553}

    {6786,8207,9798,896}

    Returns: "Not a square"

  25. {2250,4403,7385,5232}

    {6803,3821,5974,8956}

    Returns: "It's a square"

  26. {2247,2759,2463,2542}

    {3301,3222,3006,3517}

    Returns: "Not a square"

  27. {0,10000,0,10000}

    {0,10000,10000,0}

    Returns: "It's a square"

  28. {5415,4078,5415,6752}

    {5087,5087,6424,3750}

    Returns: "Not a square"

  29. {4078,5415,5415,6752}

    {5087,5087,6424,3750}

    Returns: "Not a square"

  30. {5415,5415,4078,6752}

    {6424,5087,5087,3750}

    Returns: "Not a square"

  31. {6752,5415,4078,5415}

    {3750,5087,5087,6424}

    Returns: "Not a square"

  32. {0, 0, 10000, 10000}

    {0, 5000, 0, 5000}

    Returns: "Not a square"

  33. {3, 7, 4, 0 }

    {0, 3, 7, 4 }

    Returns: "It's a square"

  34. {1, 1, 2, 0 }

    {1, 0, 1, 2 }

    Returns: "Not a square"

  35. {2, 4, 3, 5 }

    {0, 1, 4, 0 }

    Returns: "Not a square"

  36. {0, 3, 0, 3 }

    {0, 0, 3, 3 }

    Returns: "It's a square"

  37. {0, 1, 5, 6 }

    {1, 6, 0, 5 }

    Returns: "It's a square"

  38. {1, 2, 3, 4 }

    {4, 3, 2, 1 }

    Returns: "Not a square"

  39. {0, 5, 3, 8 }

    {0, 0, 4, 4 }

    Returns: "Not a square"

  40. {0, 8, 4, 4 }

    {3, 3, 6, 0 }

    Returns: "Not a square"

  41. {0, 1, 0, 1 }

    {0, 0, 1, 1 }

    Returns: "It's a square"

  42. {8, 14, 12, 10 }

    {14, 12, 16, 10 }

    Returns: "It's a square"

  43. {2, 0, 1, 1 }

    {10, 10, 20, 0 }

    Returns: "Not a square"

  44. {2, 2, 4, 0 }

    {2, 4, 2, 0 }

    Returns: "Not a square"

  45. {0, 4, 4, 8 }

    {0, 0, 4, 4 }

    Returns: "Not a square"

  46. {4, 4, 3, 5 }

    {5, 4, 5, 6 }

    Returns: "Not a square"

  47. {1, 0, 2, 2 }

    {0, 0, 0, 1 }

    Returns: "Not a square"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: