Cube | 프로그래밍의 벗 PivotOJ
PivotOJ

Cube

시간 제한: 2000ms메모리 제한: 1024MB출처: NOI 2001BOJ 9918
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

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 1 opposite face 4, face 2 opposite face 6, and face 3 opposite face 5) but the six squares on the right cannot be folded into a cube (faces 3 and 5 overlap).

[이미지 1] [이미지 2]

A 6 × 6 array is used to represent the six squares.  Only 6 of the 36 cells are used to represent the 6 squares.  A cell representing a square contains the number for the square.   Other cells contain the number 0.  Note that the same 6 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 90 degree rotation of the one on the left): 

0 0 0 0 0 0
0 3 0 5 0 0
1 2 4 6 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 5 6
0 0 0 0 0 4
0 0 0 0 3 2
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 1.

입력

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 1, 2, 3, 4, 5, 6.

출력

The output 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 1.

예제

예제 1

입력
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
출력
4
코드를 제출하려면 로그인하세요.