Statistics

Problem Statement for "ShadowSculpture"

Problem Statement

A shadow sculpture is a 3D object that seems amorphous but casts a beautiful shadow.


You want to create a simple shadow sculpture that will consist of unit cubes. More precisely, imagine an n*n*n cube that is aligned with the coordinate axes and divided into unit cubes. Your sculpture will consist of some of those unit cubes (possibly none or all of them). The unit cubes have coordinates (x,y,z) where 0 <= x,y,z < n.


You have already determined three shadows your sculpture should cast: its orthogonal projections onto the XY, YZ, and ZX plane. You are given their description in three String[]s: XY, YZ, and ZX.


Their meaning is as follows: For each i and j, the character XY[i][j] is either 'Y' or 'N'. The character 'Y' means that the unit square (i,j) of the projection is dark. In other words, if XY[i][j] is 'Y', at least one of the cubes with coordinates (i,j,k) has to be a part of your sculpture. On the other hand, if XY[i][j] is 'N', none of the cubes with coordinates (i,j,k) may belong into your sculpture. YZ and ZX describe the other two projections in the same way. E.g., if ZX[i][j] is 'Y', you have to use at least one of the cubes (j,k,i).


Finally, there is one last constraint: Your entire sculpture has to be 6-connected. (Formally: Your sculpture must form one connected component, given that two cubes are adjacent iff they share a common face.)


Return "Possible" if it is possible to construct a sculpture that matches all the given constraints. Otherwise, return "Impossible".

Definition

Class:
ShadowSculpture
Method:
possible
Parameters:
String[], String[], String[]
Returns:
String
Method signature:
String possible(String[] XY, String[] YZ, String[] ZX)
(be sure your method is public)

Constraints

  • n will be between 1 and 10, inclusive.
  • XY, YZ and ZX will contain exactly n elements.
  • Each element of XY, YZ and ZX will contain exactly n characters.
  • Each element of XY, YZ and ZX will contain only 'Y' and 'N'.

Examples

  1. {"YN","NN"}

    {"YN","NN"}

    {"YN","NN"}

    Returns: "Possible"

    It is possible: we only have one solid cell at (0, 0, 0).

  2. {"YN","NY"}

    {"YN","NY"}

    {"YN","NY"}

    Returns: "Impossible"

    Here it is impossible to make a valid sculpture. Note that you can make all three projections look right by using exactly two cubes: (0,0,0) and (1,1,1). However, this sculpture is not 6-connected.

  3. {"YYY","YNY","YYY"}

    {"YYY","YNY","YYY"}

    {"YYY","YNY","YYY"}

    Returns: "Possible"

  4. {"YYY","YNY","YYY"}

    {"NYY","YNY","YYY"}

    {"YYY","YNY","YYN"}

    Returns: "Impossible"

  5. {"N"}

    {"N"}

    {"N"}

    Returns: "Possible"

    A sculpture that consists of no cubes is connected.

  6. {"YYYYY","YYNYY","YYYYY","YYNYY","YYYYY"}

    {"YYYYY","YYNYY","YYYYY","YYNYY","YYYYY"}

    {"YYYYY","YYNYY","YYYYY","YYNYY","YYYYY"}

    Returns: "Possible"

    tricky.

  7. {"YYYYYYYYYY","YYYYNYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYNYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","NYYYYYYYYY"}

    {"YYYNYYYYYY","YYYYYYYYYY","YYYYYYYYNY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYN","YYYYYYYYYY","YYYYYYYYYY","YYNYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YNYYYYYYYY","YYYYYYYYYY"}

    Returns: "Possible"

  8. {"YYY","YYY","YYY"}

    {"YYY","YYY","YYY"}

    {"YYY","NNY","YYY"}

    Returns: "Possible"

  9. {"YYY","YYY","YYY"}

    {"YYY","YYY","YYY"}

    {"YYY","YYY","YYY"}

    Returns: "Possible"

  10. {"YN","NY"}

    {"YY","YY"}

    {"YY","YY"}

    Returns: "Impossible"

  11. {"YY","YY"}

    {"YY","YY"}

    {"YY","YY"}

    Returns: "Possible"

  12. {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    Returns: "Possible"

  13. {"Y"}

    {"Y"}

    {"Y"}

    Returns: "Possible"

  14. {"NYY","YYY","YYY"}

    {"NYY","YYY","YYY"}

    {"YNY","YYY","YYY"}

    Returns: "Possible"

  15. {"NNYNY","NYNYN","YYYYN","YYNNN","NYNNY"}

    {"NYNNY","YYYYY","YNNNN","NNYNY","NNYNN"}

    {"YNYYN","NNNYY","YYYNY","NNNNY","NYYYN"}

    Returns: "Impossible"

  16. {"NYYYYYYY","NYYYYYYY","YNYYYNYY","YYYYYYYN","YYYYYYNY","YYNYYYYY","YYYYYNYN","YYNNYYYY"}

    {"YYYYYYYY","YNYYNYYY","YNYYYYYY","NYYYYYYY","YYYYYNYY","YYNYYYYY","YYYNYNYN","YYYYYYYY"}

    {"YNYYYYYY","YNYYNYYY","YYYNYYNN","YYNYNYNY","YNYYNYYY","YYYYYYYN","YYYYYYNN","NNYYYYYY"}

    Returns: "Possible"

  17. {"YYYYY","YYYYY","YYYYY","YYYYY","YYYYY"}

    {"YYYYY","YYYYY","YYYYY","YYYYY","YNYYY"}

    {"YYYYY","YYYYY","YYYYY","YYYYY","YYYYY"}

    Returns: "Possible"

  18. {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    Returns: "Possible"

  19. {"YNNNY","NNNNN","NYNNY","NNNNN","YNNYN"}

    {"NYNYN","NYNNN","NNNNN","NYNNN","YNNNY"}

    {"YNYNN","YNYNY","NNNNN","NNNNY","NNYNN"}

    Returns: "Impossible"

  20. {"YYYYYN","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    {"YYYYYY","YYYYYY","YYYYNY","YYYYYY","YYYYNY","YYYYYY"}

    {"YYYYYY","NYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    Returns: "Possible"

  21. {"YNNN","YYNY","NYYY","NNNY"}

    {"YYNN","NYNY","NYNY","NNYY"}

    {"YYNN","NYYN","NNYN","NYYY"}

    Returns: "Impossible"

  22. {"YY","YY"}

    {"YY","YY"}

    {"YY","YY"}

    Returns: "Possible"

  23. {"YYYNYYYY","YNYYYYYN","YYYYYYYY","YYYYYYYN","YYYYYYYY","YYYYYYYY","YYYYYYYN","YYYYYYYY"}

    {"YYYYYYYN","YYYYNYYN","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYNY","YYYYYYNY"}

    {"YYYYYYYY","YYYYYYYY","YYYYYYYN","YYYYYYYY","NYYYYYYY","YYYYYYYY","YYYYNYYY","YYYNYYYY"}

    Returns: "Possible"

  24. {"N"}

    {"N"}

    {"N"}

    Returns: "Possible"

  25. {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","NYYYYYY","YYYYYYY"}

    {"YYYYYYY","YYYYYYY","YYYYYYY","YNYYYYY","YYYYYYY","YYYYYYY","YYYYYNY"}

    {"YYYYYYY","YYYYYYY","YYNYYYY","YYYYYYY","YYYYYYY","YYNYYYY","YYYYYYY"}

    Returns: "Possible"

  26. {"YYYYY","YYYYY","YYYYY","YYYYY","YYYYY"}

    {"YYNYY","YYYYY","YYYYY","YYYYY","YYYYY"}

    {"YYYYY","YYYYY","YYYYY","NYYYY","YYYYY"}

    Returns: "Possible"

  27. {"Y"}

    {"Y"}

    {"Y"}

    Returns: "Possible"

  28. {"YY","YN"}

    {"YY","YN"}

    {"YY","YY"}

    Returns: "Possible"

  29. {"YYYY","YYYY","YYYY","YYYY"}

    {"YYYY","YYYY","YYYY","YYYY"}

    {"YYYY","YYYY","YYYY","YYYY"}

    Returns: "Possible"

  30. {"NNNNNNNNY","NNNNNYNNN","NNYNNNNYN","NNNNNYNNN","NNNYNNNNN","NNNNYNNNN","NYNNNNNNN","NNNYNNNNN","NYNNNNNYN"}

    {"NNNNNNNNN","NNNYNYNNN","NYNYNNNNN","NYNNNNNNY","NNYNNNNNN","NNYYNNNNN","NNNNNNNNN","YNNNNNNYN","NNYNNNNYN"}

    {"NNNNNNNNY","NNYNNNNYN","YYNNNYNNN","NNYYNNYNN","NNNNNNNNN","NNNNNNNNY","NNNNNNNNN","YNYNNNNNN","NNNNYNNNN"}

    Returns: "Impossible"

  31. {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    Returns: "Possible"

  32. {"Y"}

    {"Y"}

    {"Y"}

    Returns: "Possible"

  33. {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    Returns: "Possible"

  34. {"YYYYYYYYN","YYYYYYYYY","YNYYYYYYY","YYYNYYYYY","YYYYYYYYY","YYNYYYYYY","NYYYYYYYY","YYYYYYYYY","YYYYYYNYY"}

    {"YYYYYYYYY","YNYYYYNYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYNYYYNY","YNNYYYNYY","YYYYYYYYY","NYYYYYYYY"}

    {"YNNYYYNYY","NYYYYYYYY","YYYYYYYYN","YYYYYYNYY","YYYYYYYYY","YYNYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    Returns: "Impossible"

  35. {"YYYYN","YYNYN","YYYYY","YYYNY","YYYYY"}

    {"YYNYY","YYYYN","YYNYY","YYYYY","YYYYY"}

    {"YYYYY","YYYYY","YYYYY","YNYYY","YYYYY"}

    Returns: "Possible"

  36. {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    Returns: "Possible"

  37. {"YYYYYYYYYN","YYYYYYYYYN","YYYNYYYYNY","YYYNNYNYYY","YYYNNNYYYY","YYYYYNYYYY","YYYYYYYYNY","NNYNYYYYYN","YYYYYYYYYN","NYNYYNYYYY"}

    {"YYYYNYYYYY","YYYYYYYYYY","NYYYYYYYYY","YYYNYNYYYN","YYYYYYYYYN","YNYYYYYYNN","YYYYYYYYYY","YYYYYYYYYN","YYYYYYYYYY","YYNYYYYNYY"}

    {"NYYNYYYNYY","NYYYYYNYYY","YYYYYYYYYY","NYYYYNYYYY","YYYYYNYYYY","YYNYYNYYYY","YYYYYYYYYY","YYNYYNYYYY","YYYNNYYYYY","YYYYYYYNNN"}

    Returns: "Possible"

  38. {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    Returns: "Possible"

  39. {"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    {"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    {"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    Returns: "Possible"

  40. {"NNN","NNN","NYN"}

    {"NNN","YNN","NNN"}

    {"NNY","NNN","NNN"}

    Returns: "Possible"

  41. {"YNNY","YNYY","NNNN","YYNN"}

    {"NYYY","NNYY","NYYN","YYYN"}

    {"YNNN","NYNY","YYNY","YNNY"}

    Returns: "Impossible"

  42. {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    Returns: "Possible"

  43. {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    Returns: "Possible"

  44. {"YYYYYYY","NYYYYYY","YNYYNYY","YYYYYYY","YYYYNYY","YYYYYYY","YYYYYYY"}

    {"YYNYYYY","YYYYYYY","YYYYNYN","NYYYYYY","YNYYYNY","YYYYYYY","YYYYYYY"}

    {"YYNYYYY","YYYYYNY","YYNYYYY","YNYYYYN","YYYNYYY","YYNYYYY","YYYYNYY"}

    Returns: "Possible"

  45. {"YYYY","YYYY","YYYY","YYYY"}

    {"YYYY","YYYY","YYYY","YYYY"}

    {"YYYY","YYYY","YYYY","YYYY"}

    Returns: "Possible"

  46. {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    Returns: "Possible"

  47. {"YYYY","YYYY","YYYY","YYYY"}

    {"YYYY","YYYY","YYYY","YYYY"}

    {"YYYY","YYYY","YYYY","YYYY"}

    Returns: "Possible"

  48. {"NYYN","NYNY","YNYY","NYYY"}

    {"YNNN","YNYY","YYNY","YNYY"}

    {"YYYN","NNYN","NYYY","YYNY"}

    Returns: "Impossible"

  49. {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}

    {"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYN","YYYYYYYY"}

    Returns: "Possible"

  50. {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    Returns: "Possible"

  51. {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","NYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYNYYYY","YYNYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYNYYY","YYYYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YNYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    Returns: "Possible"

  52. {"N"}

    {"N"}

    {"N"}

    Returns: "Possible"

  53. {"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    {"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    {"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}

    Returns: "Possible"

  54. {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}

    Returns: "Possible"

  55. {"NNYNYY","YYYYYN","NNYYNY","YNYNYY","NNYNYN","YYYYNY"}

    {"YYYYYY","YNYNNY","YYNYYY","NYYNYY","YYNYNY","YYNYYN"}

    {"YYNYYN","YYYYYY","NYNYNY","YYYYYN","YYNYNY","NYNYNY"}

    Returns: "Impossible"

  56. {"NYYYYYYN","YYNNNYNN","YNNYYYYY","NNYYYYNN","YYYYNNNN","YYNNNNNN","YNYNNYNN","YYYYYNYY"}

    {"NNNYYNNY","NYYNYNNY","YNYNNNYN","YNYNYNYN","YNYNNNNN","YYNNYYNN","YYNNNNYY","NNNYYYYN"}

    {"NYNYYYNY","YNNNYYNY","NNYYYYNY","NYYYNYNN","NYYYNYYY","NNNYYYNN","NYNYNNNY","NNYYYYNN"}

    Returns: "Impossible"

  57. {"NYYYYYN","YYYYYYN","NNYNYNN","NYYNNYN","YNNYYNY","NNYYYYY","NYYYYYN"}

    {"YYNYYYY","NNYNNNY","YYYNYYN","NNYYYNY","YNYYNYY","NYYNNYY","NNYYYNN"}

    {"YNNNNYY","NNYYYNN","YYNYYYN","YNYYYNY","NYYYYYY","NYYNNYN","NNNYYYY"}

    Returns: "Impossible"

  58. {"NYN","NNY","YYY"}

    {"NYN","YYN","NYY"}

    {"YYN","YYY","NYY"}

    Returns: "Impossible"

  59. {"YY","YY"}

    {"YY","NY"}

    {"NY","YY"}

    Returns: "Possible"

  60. {"YYN","NNY","YYY"}

    {"NNN","YNY","YNN"}

    {"NNN","YYN","YNY"}

    Returns: "Impossible"

  61. {"NNYNNYNYY","YNNYYYYYY","YYYYYNYYY","YYYNYYNYY","YYYYYNYYN","NYYNNYYNY","YYYYNYNNY","YYYNNYYYY","YYYYYYYYY"}

    {"YYYYYYYYY","YNYYYYYYY","YNYYYNYYY","NYNYYYYNY","YYNYYYYYY","YYNYYYNNY","YNYYYYYNY","NNYYYNYYY","YYYYYYYYY"}

    {"YYNYYYYNY","YNYYNYYYY","YYYNYYYYY","YNYYYYYYN","YYYYYYNYY","YYYYNNYYY","YYNYNYNYY","YYYNYNYYY","YYYYYYYYY"}

    Returns: "Impossible"

  62. {"N"}

    {"N"}

    {"N"}

    Returns: "Possible"

  63. {"YYYY","NYNN","NYNY","YNYY"}

    {"YYYN","YYYN","NNNY","YYNN"}

    {"YNYY","YYYY","NNNY","NYYN"}

    Returns: "Impossible"

  64. {"Y"}

    {"N"}

    {"N"}

    Returns: "Impossible"

  65. {"YYNNYYYYN","YYNNYNYYN","NNYYNYYYY","NNYNYYYYY","NNNYYYYNY","YNYYNYNYY","YNYNYYNYY","YYYYNYYYY","YNYYYNYNY"}

    {"NYNYYYNNY","NYNNYYYYY","NYYYYNYYN","NYNYYNNNN","YYYNYNNYY","YYYNNNNYN","NNNNYYNYY","YNNNYYNNY","NNYYYNYYY"}

    {"YNYYYYYNY","YYYYNYYNN","NYNNNNYYY","YYNNYYNNY","YYYYYNYNY","NYYNYNYYN","NYYYYYYNN","NNYYNYYYN","YNYNYYYNY"}

    Returns: "Impossible"

  66. {"NY","NN"}

    {"NN","NY"}

    {"YN","YY"}

    Returns: "Impossible"

  67. {"N"}

    {"N"}

    {"N"}

    Returns: "Possible"

  68. {"YNY","NYY","YYY"}

    {"YNY","NYY","YNN"}

    {"YYY","YYY","YYY"}

    Returns: "Impossible"

  69. {"NYYYYNY","NYYYNYN","YYYYYYY","YYYYYYN","YYYYYYN","NYYYYYY","YYYYYYY"}

    {"YYNYYNY","YYYYYYY","YYNYNYY","YYNYYYY","NYYYYYY","YYYYYYY","YYYYYYY"}

    {"YYNYYYN","YYNYYYY","YYYYYYN","YNNNYYY","NYNYYNY","YYYYYYY","YYYNYYY"}

    Returns: "Impossible"

  70. {"NNYYYY","YYNYYN","YNYYNN","YNYYYY","YYYNNY","YYNNNY"}

    {"NYYYYY","NNYNYY","YNYYNN","NYNNYY","YYNNYN","YNYYYN"}

    {"NYYYYY","YYYYYN","YYYNNY","YYYYNY","YNYNYN","YYNYNY"}

    Returns: "Impossible"

  71. {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    {"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}

    Returns: "Possible"

  72. {"YYYNYNYYYY","YYYYYNYNYY","YNNYYYYNYY","YYYYYYYYYY","YYYYYYNNYN","YYNYYYNYYY","YYYNYYYYYY","NNYYYYYYYY","YYNYYYYNYY","YYYYYYYNYN"}

    {"YNYNYYYYYY","YYYYYYNYYN","YNYYNYYYYY","YYYNYNYYYY","NYNYYNYYYY","YYYYYYYYNY","YYYNYYNYYY","YYYYYYYYYY","NYYYYNNNYY","YYYYYNYNYY"}

    {"YYYYYNYYYY","YYYYYYYYYY","YYYYNYYYYY","YYNYYYYYYN","YNYYYYYNYY","NYYYYYNNNY","YYNNYYYNNY","NNYYYYNYYN","YYYYYYYNYY","YNYYNYYYYY"}

    Returns: "Impossible"

  73. {"NYYYYYNY","YYYYYYNY","YNYYYYNY","NYNYYYNY","YYNNYNNY","YYYNYYNY","NYYYNNYN","YNYYNYYY"}

    {"NYNNNNYY","NYNNYYYN","YYNYNYYY","YNNYYYNN","YYNYYNNN","NYNYNNYY","YNNYNNNY","YYNNYYYY"}

    {"NYYYYYNY","NNNNYYYN","NNYNYNYY","YYYNYNNN","YNNYNYYN","YYYYNYNY","YNYYYNYN","NYYNYYNY"}

    Returns: "Impossible"

  74. {"YNYYYYYYY","YYYYYYYNY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","NYYNNYYYY","YYYYYNYYY","YYYYYYYYY","YYYNYYYYY"}

    {"YYYYYYYYY","YNYYYYYYY","YYYNYYYYY","YYNYYYYYY","YYYYYYYYY","YNYYYNYYY","YYYYYYYYY","YYYYYNYYY","YNYYYYNYY"}

    {"YYYYNYNYY","YYYYYYYYY","YNNYYYYYY","YYYYYNNYY","YYYNYYNYY","YYYYNYNYY","YYYNYYYYY","YNYYYYYYY","YNYYYYYYY"}

    Returns: "Possible"

  75. {"NNN","NYN","NNN"}

    {"NYN","YYY","YNN"}

    {"NYY","NNN","YYN"}

    Returns: "Impossible"

  76. {"N"}

    {"N"}

    {"N"}

    Returns: "Possible"

  77. {"NYNYY","NYNNY","YNYYN","YYYNY","YNYYN"}

    {"YYNNY","YYNYY","YYYNY","YNYYN","NYNYY"}

    {"NYYYN","YYYYY","NNYNY","NYYYY","YNNYY"}

    Returns: "Impossible"

  78. {"YNNYN","NYYYY","YYNNN","YYNNN","NNYYY"}

    {"YNYNY","NNYYY","NNYYN","YNYYN","YNNNY"}

    {"YNYYN","YYNYN","NNYYN","NYYYN","YYNNN"}

    Returns: "Impossible"

  79. {"NYYNNNNYN","YYYNNYNYY","NYNYYNYYN","YNNYYYYYY","YNNNNYYYN","YNNNYNYYY","YNNYNYYNY","YYYYYYNYY","YYNYNNYNN"}

    {"YYYYYNYYY","YYNNYNYYY","NYNYYNNYN","NNYYNYNYN","YYYYYYYYN","YYYYNNYNY","YYYYYYYYY","NYYNNYNNN","YNYNYYNNY"}

    {"YNYNYNNYY","NYYYYYYYY","NYNNYYYNY","YYYYYYNNN","YYYYYYNNN","YYYYNNYYN","YNYNNYNYN","YYYYNNYNY","NYNYNNYNN"}

    Returns: "Impossible"

  80. {"YNYNYNYN","YNNYNYNN","YYNYNNNY","YYYYNYNY","NYNNYYYY","NYYNYNNY","YYYYYYYN","NYYYNYNN"}

    {"YNYNNYYN","YYYNYNYY","YYYYYNYY","NNYYNYNY","YYYYYYNN","NYNYYYNY","YYYYYYYY","YYYNNYYN"}

    {"NYNYYYNN","YYYNNNNY","YYNNYYYY","YYNNNNYN","YYNYYYNN","NNYNYYNY","NYYYYYNY","NYNYYNNN"}

    Returns: "Impossible"

  81. {"YNN","YYY","NYN"}

    {"YYN","NYY","NYN"}

    {"NYY","NYY","YNY"}

    Returns: "Impossible"

  82. {"YYYYYYY","NYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    {"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}

    Returns: "Possible"

  83. {"NY","YY"}

    {"NY","NY"}

    {"YY","YY"}

    Returns: "Impossible"

  84. {"Y"}

    {"N"}

    {"N"}

    Returns: "Impossible"

  85. {"YYY","YYN","NYY"}

    {"NYY","YNY","YYY"}

    {"NNN","NYY","NYN"}

    Returns: "Impossible"

  86. {"Y" }

    {"N" }

    {"N" }

    Returns: "Impossible"

  87. {"YN", "NN" }

    {"NN", "NN" }

    {"NN", "NN" }

    Returns: "Impossible"

  88. {"NNN", "NNN", "NNN" }

    {"NNY", "YNN", "YYY" }

    {"NNN", "NNY", "NYN" }

    Returns: "Impossible"

  89. {"YYY", "YYY", "YNY" }

    {"YYY", "YYY", "YNY" }

    {"YNY", "YYY", "YYY" }

    Returns: "Possible"

  90. {"YNY", "YYY", "YYY" }

    {"YNY", "YYY", "YYY" }

    {"YNY", "YYY", "YYY" }

    Returns: "Possible"

  91. {"YN", "NY" }

    {"YN", "NY" }

    {"YN", "NY" }

    Returns: "Impossible"

  92. {"Y" }

    {"N" }

    {"Y" }

    Returns: "Impossible"

  93. {"N" }

    {"N" }

    {"Y" }

    Returns: "Impossible"

  94. {"Y" }

    {"Y" }

    {"N" }

    Returns: "Impossible"

  95. {"YNN", "NNN", "NNN" }

    {"NNN", "NNN", "NNN" }

    {"NNN", "NNN", "NNN" }

    Returns: "Impossible"

  96. {"NN", "NN" }

    {"NN", "NN" }

    {"NN", "NN" }

    Returns: "Possible"

  97. {"NY", "YY" }

    {"YY", "YY" }

    {"YY", "YY" }

    Returns: "Possible"

  98. {"YY", "YY" }

    {"YY", "NN" }

    {"YY", "YY" }

    Returns: "Impossible"

  99. {"YY", "YY" }

    {"NN", "NN" }

    {"YY", "YY" }

    Returns: "Impossible"

  100. {"YN", "NY" }

    {"YN", "NN" }

    {"YN", "NN" }

    Returns: "Impossible"

  101. {"NY", "NY" }

    {"YY", "YY" }

    {"YY", "YY" }

    Returns: "Impossible"

  102. {"NN", "NN" }

    {"YY", "NY" }

    {"YY", "YN" }

    Returns: "Impossible"

  103. {"NYN", "YYY", "NYN" }

    {"NYN", "YYY", "NYN" }

    {"NYN", "YYY", "NYN" }

    Returns: "Possible"

  104. {"NN", "NN" }

    {"NN", "NN" }

    {"YN", "NN" }

    Returns: "Impossible"

  105. {"YYY", "YNY", "YYY" }

    {"YYY", "YNY", "YYY" }

    {"YYY", "YNY", "YYY" }

    Returns: "Possible"

  106. {"YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY" }

    {"YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYNYYYY", "YYYYYYYYYY", "NYYYYYYYNY", "YYYYYYYYYY" }

    {"YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYNYY", "YYYYYYYYYY", "YYYNNYYYYY", "YYYYYYYYYY", "YYYYNYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY" }

    Returns: "Possible"

  107. {"NN", "NY" }

    {"NN", "NN" }

    {"NY", "NN" }

    Returns: "Impossible"

  108. {"YN", "NN" }

    {"NY", "NN" }

    {"NN", "YN" }

    Returns: "Possible"

  109. {"NY", "NN" }

    {"NN", "YN" }

    {"YN", "NN" }

    Returns: "Possible"

  110. {"YYYYYYYYY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "YYNNNNNNY" }

    {"YYYYYYYYY", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YYYYYYYYY" }

    {"YYYYYYYYY", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YYYYYYYYY" }

    Returns: "Possible"

  111. {"N" }

    {"Y" }

    {"Y" }

    Returns: "Impossible"


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: