The N cubes puzzle

Time Limit: 1000ms
Memory Limit: 32768KB
This problem will be judged on HDU. Original ID: 3604
64-bit integer IO format: %I64d      Java class name: Main

Description

Given n cubes 1*1*1 (x, y, z) and n types of pigments . You can choose any one of the n pigments to paint every face of these cubes as you want. To save space, we’d like you to stack these n cubes vertically into a 1*1*n cube. What’s more, to make it as much beautiful as possible, we demand you to find a painting way to make sure that all the vertical faces of the resulting cube are covered by n colors.
For example, such as n = 4, a cube's expand map just as sample 1-1 ;and the stacked cube's expand map just as sample 1-2;
    

Input

The first line is an integer T (1<=T<=500) indicating the number of test cases.
Each test case begins with an integer n (1<=n<=10), which stands for the number of cubes. Then, the following 3 * n lines each contains a string which only consists of capital letters between 'A' and 'A' + n - 1 (colors of the pigments, 1<=n<=10). Pay attention, each cube occupies 3 lines describing its expanded map.

Output

For each case, print a line formatted as "Case #ID: ", where ID (starting from 1) is the number of current test case. Then, if it’s possible to find a feasible solution, please output "Yes”, or please output "No".

Sample Input

3
2
 A
BBAA
 B
 B
ABBA
 A 
3
 A
ABAB
 B
 C
AACB
 C
 C
ABBC
 C
4
 A
ADCB
 A
 A
ADBC
 D
 C
BBAD
 C
 B
CDAC
 D

Sample Output

Case #1: Yes
Case #2: No
Case #3: Yes

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .