ACSL '09 Practice P7 - Cube

View as PDF

Points: 15
Time limit: 1.0s
Memory limit: 16M

Problem type
ACSL Practice 2009

Folding six squares connected in some special ways can form a cube. For example, in the diagram below, the six squares on the left can be folded into a cube (with face opposite face , face opposite face , and face opposite face ) but the six squares on the right cannot be folded into a cube (faces and overlap).

A array is used to represent the six squares. Only of the cells are used to represent the 6 squares. A cell representing a square contains the number for the square. Other cells contain the number . Note that the same squares can be represented in many ways. For example, the invalid six squares of the above example can be represented as follows (the one on the right is obtained after a degree rotation of the one on the left):

0 0 0 0 0 0         0 0 0 0 0 0
0 3 0 5 0 0         0 0 0 0 0 0
1 2 4 6 0 0         0 0 0 0 5 6
0 0 0 0 0 0         0 0 0 0 0 4
0 0 0 0 0 0         0 0 0 0 3 2
0 0 0 0 0 0         0 0 0 0 0 1

Given a square representation, determine if the squares can be folded into a cube; if so, find the face opposite face .

Input Specification

The input consists of six lines with each line containing six integers. All but six of the input integers are zeros. The non-zero integers are .

Output Specification

The output file consists of a single integer. The integer is 0 if the squares cannot be folded into a cube; otherwise, the integer is the number of the face opposite face .

Sample Input

0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 0 0 0
0 5 2 3 0 0
0 0 4 0 0 0
0 0 6 0 0 0

Sample Output

4