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
Comments