**Transformations**

- #1: 90 Degree Rotation: The pattern was rotated clockwise 90 degrees.
- #2: 180 Degree Rotation: The pattern was rotated clockwise 180 degrees.
- #3: 270 Degree Rotation: The pattern was rotated clockwise 270 degrees.
- #4: Reflection: The pattern was reflected horizontally (turned into a mirror image of itself by reflecting around a vertical line in the middle of the image).
- #5: Combination: The pattern was reflected horizontally and then subjected to one of the rotations (#1-#3).
- #6: No Change: The original pattern was not changed.
- #7: Invalid Transformation: The new pattern was not obtained by any of the above methods.

### PROGRAM NAME: transform

### INPUT FORMAT

Line 1: | A single integer, N |

Line 2..N+1: | N lines of N characters (each either `@' or `-'); this is the square before transformation |

Line N+2..2*N+1: | N lines of N characters (each either `@' or `-'); this is the square after transformation |

### SAMPLE INPUT (file transform.in)

3 @-@ --- @@- @-@ @-- --@

### OUTPUT FORMAT

A single line containing the the number from 1 through 7 (described above) that categorizes the transformation required to change from the `before' representation to the `after' representation.### SAMPLE OUTPUT (file transform.out)

1

Ad hoc - string manipulation

In my solution I have 3 funcions f90(), cmp() and reflect()

f90( string [], string [], int ); takes two arrays of string and an integer -the size of arrays- and rotates the grid 90 degrees clockwise and put it into the second array of string

cmp( string [], string [], int ); takes two arrays of string and an integer -the size of arrays- and compares them whether they are equal or not

reflect( string [], string [], int ); takes two arrays of string and an integer -the size of arrays- and reflects the first one round a vertical line and put it into the second one

for rotating 180 and 270 degrees I used 2 or 3 times of f90(), respectively.

read the problem description carefully as it says : "In the case that more than one transform could have been used, choose the one with the minimum number above."

## No comments:

## Post a Comment