首页 > ACM题库 > HDU-杭电 > hdu 4792 Bob’s new toy待解决[解题报告]C++
2015
09-18

hdu 4792 Bob’s new toy待解决[解题报告]C++

Bob’s new toy

问题描述 :

Bob used to have many toy blocks and he loved cube blocks very much and builds many structures only using cube blocks. Now, Bob has new toys to play, a set of magnetic robs with different length and magnetic balls to connect these robs. He decide to use these new toys to reproduce those structure he used to build using cube blocks by replacing every cube block with the cube frame below.
Alice's Print Service

As you can see, each block is composed by 8 magnetic balls, 12 magnetic robs with length 1(standard rob). And there would be some magnetic robs with length √2 (long rob) connecting to diagonal balls to make it rigid. Adjacent cubes can share balls and robs. Before long he realize that there is no need to put 3 long robs to connect the diagonal balls of each cube to make it rigid. For example, if the structure is a 2 × 2 × 2 cube, only 9 robs is need to prevent the structure from out of its shape.
Alice's Print Service

If there are less than 9 long robs, for example, 8 long rods, the structure may transform into the shape showed in pictures below so it cannot maintain its original shape.
Alice's Print Service

Bob wonder what is the minimum number of long robs need to prevent the structure from out of the shape.

输入:

There are multiple cases. The first line of each case contains three integers, H, L and W (1 ≤ H, L, W ≤10), indicating the height, length and width of the structure built by original cube blocks. Then H sections of input following, each section contains L lines and each line contains W characters describing the layout of the structure. The wth character of lth line in the hth section is ‘*’ when there is a cube block in position (w,l,h), or ‘.’ otherwise.
Sections are separated by a blank line. The input structure is guaranteed to be connected by faces and there would be at least one ‘*’ in each ca se. Please note that the final structure is built by replacing each cube block by robs and balls, as mentioned above.

输出:

There are multiple cases. The first line of each case contains three integers, H, L and W (1 ≤ H, L, W ≤10), indicating the height, length and width of the structure built by original cube blocks. Then H sections of input following, each section contains L lines and each line contains W characters describing the layout of the structure. The wth character of lth line in the hth section is ‘*’ when there is a cube block in position (w,l,h), or ‘.’ otherwise.
Sections are separated by a blank line. The input structure is guaranteed to be connected by faces and there would be at least one ‘*’ in each ca se. Please note that the final structure is built by replacing each cube block by robs and balls, as mentioned above.

样例输入:

1 2 3
***
***
1 2 3
*.*
***
2 2 2
**
**

**
**
3 3 3
***
***
***

***
***
***

***
***
***
3 3 3
***
***
***

***
*.*
***

***
***
***

样例输出:

9
11
9
15
15
Hint
The last two cases are essentially the same when Bob builds the structure using balls and robs.