Statistics

Problem Statement for "VideoCrypto"

Problem Statement

An interesting way of encrypting/decrypting black and white images works as follows. Suppose you possess a picture KEY which was your secret decryption key, and have been sent an encrypted image CYPHER. For example:

CYPHER:

X..XX.
.XX..X
.X.XX.
X..X.X

KEY:

.XX..X
.X.X.X
.XX.X.
X.X..X

To decrypt CYPHER you first overlay the two images, producing a JOINT image which has an 'X' wherever either KEY or CYPHER or both have an 'X'. The JOINT image corresponding to the KEY and CYPHER above is shown below:

XXXXXX
.XXX.X
.XXXX.
X.XX.X

Next you scan through the image one row at a time. If an even-numbered column, and the odd-numbered column that immediately follows it, are both 'X's, then both should be 'X's in the decrypted image. (The first column is column 0). Otherwise, if only the even-numbered column, or only the odd-numbered column is an 'X', then both should be '.' in the decrypted image. Here, column refers to the horizontal position and row refers to vertical position in the image. Below is the decrypted image corresponding to the images above:

XXXXXX
..XX..
..XX..
..XX..

Your task is, given a String[] key, each of whose elements represents a row of KEY, and a String[] cypher, each of whose elements represents a row of CYPHER, return a String[] representing the decrypted image.

Definition

Class:
VideoCrypto
Method:
decoding
Parameters:
String[], String[]
Returns:
String[]
Method signature:
String[] decoding(String[] key, String[] cypher)
(be sure your method is public)

Constraints

  • key has between 1 and 50 elements inclusive
  • cypher has the same number of elements as key
  • all elements of key have the same length
  • the length of the elements of key is an even number between 2 and 50 inclusive
  • all elements of cypher have the same length which is equal to the length of all elements of key
  • elements of key and cypher only contain the characters 'X' and '.'
  • for each element of key and cypher, every even-indexed (where indexing starts from 0) character is different than the character that immediately follows it

Examples

  1. {".XX..X"}

    {"X.X.X."}

    Returns: { "XX..XX" }

  2. {".XX..X",".X.X.X",".XX.X.","X.X..X"}

    {".XX..X",".X.X.X",".XX.X.","X.X..X"}

    Returns: { "......", "......", "......", "......" }

  3. {"X..XX.",".XX..X",".X.XX.","X..X.X"}

    {".XX..X",".X.X.X",".XX.X.","X.X..X"}

    Returns: { "XXXXXX", "..XX..", "..XX..", "..XX.." }

  4. {"X..XX.",".XX..X",".X.XX.","X..X.X"}

    {".XX..X","X..XX.","X.X..X",".XX.X."}

    Returns: { "XXXXXX", "XXXXXX", "XXXXXX", "XXXXXX" }

  5. {"X..XX.",".XX..X",".X.XX.","X..X.X","X..XX.",".XX..X",".X.XX.","X..X.X"}

    {".X.X.X",".XX..X",".XX.X.","X.X..X","X.X.X.",".XX..X","X..X.X","X.X..X"}

    Returns: { "XX..XX", "......", "..XX..", "..XX..", "..XX..", "......", "XX..XX", "..XX.." }

  6. {"X.X.X..XX.",".XX.X.X..X",".XX..X.X.X","X..X.XX..X", "X.X..XX..X","X..XX.X.X.","X.X..X.XX."}

    {"X.X..X.XX.",".XX..XX..X",".XX.X..X.X",".XX.X..XX.", "X.X.X.X..X","X..X.XX.X.","X.X.X..XX."}

    Returns: { "....XX....", "....XX....", "....XX....", "XXXXXXXXXX", "....XX....", "....XX....", "....XX...." }

    picture for the secretKey is: X.X.X..XX. .XX.X.X..X .XX..X.X.X X..X.XX..X X.X..XX..X X..XX.X.X. X.X..X.XX. picture for the cypherText is: X.X..X.XX. .XX..XX..X .XX.X..X.X .XX.X..XX. X.X.X.X..X X..X.XX.X. X.X.X..XX. joint picture is: X.X.XX.XX. .XX.XXX..X .XX.XX.X.X XXXXXXXXXX X.X.XXX..X X..XXXX.X. X.X.XX.XX. decoded picture is: ....XX.... ....XX.... ....XX.... XXXXXXXXXX ....XX.... ....XX.... ....XX....

  7. {"X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X"}

    {"X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X"}

    Returns: { "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................" }

  8. {"X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X"}

    {"X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X", ".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.", "X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X","X..XX..XX.X.X..X.XX.X.X..X.XX.X.X..XX..XX..X.X.X"}

    Returns: { "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "................................................", "................................................" }

  9. {".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X.",".XX..XX..X.X.XX.X..X.X.XX.X..X.X.XX..XX..XX.X.X."}

    {".XX.X..X.X.XX..XX..XX.X.X.X.X.X..XX.X..X.XX..X.X",".XX.X..X.X.XX..XX..XX.X.X.X.X.X..XX.X..X.XX..X.X"}

    Returns: { "....XXXX....XXXX....XXXX....XXXX....XXXX....XXXX", "....XXXX....XXXX....XXXX....XXXX....XXXX....XXXX" }

  10. {".X"}

    {"X."}

    Returns: { "XX" }

  11. {".X"}

    {".X"}

    Returns: { ".." }

  12. {".X"}

    {"X."}

    Returns: { "XX" }

  13. {"X."}

    {"X."}

    Returns: { ".." }

  14. {".X.X",".X.X"}

    {".X.X",".X.X"}

    Returns: { "....", "...." }

  15. {".X.X",".X.X"}

    {"X.X.","X.X."}

    Returns: { "XXXX", "XXXX" }

  16. {".X.X",".X.X"}

    {".XX.","X..X"}

    Returns: { "..XX", "XX.." }

  17. {".XX.",".X.X"}

    {".XX.",".X.X"}

    Returns: { "....", "...." }

  18. {".XX.",".X.X"}

    {"X..X","X..X"}

    Returns: { "XXXX", "XX.." }

  19. {".XX.",".X.X"}

    {"X.X.",".X.X"}

    Returns: { "XX..", "...." }

  20. { "X." }

    { "X." }

    Returns: { ".." }

  21. { ".X" }

    { "X." }

    Returns: { "XX" }

  22. { ".XX..X" }

    { "X.X.X." }

    Returns: { "XX..XX" }

  23. { "X..XX.", ".XX..X", ".X.XX.", "X..X.X" }

    { ".XX..X", ".X.X.X", ".XX.X.", "X.X..X" }

    Returns: { "XXXXXX", "..XX..", "..XX..", "..XX.." }

  24. { "X.X.X.X.", ".X.X.X.X" }

    { "X.X.X.X.", ".X.X.X.X" }

    Returns: { "........", "........" }

  25. { "X." }

    { ".X" }

    Returns: { "XX" }

  26. { ".X" }

    { ".X" }

    Returns: { ".." }


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: