ThreePhotos
SRM 415 · 2008-08-26 · by Gluk
SRM 415 · 2008-08-26 · by Gluk · Simple Search, Iteration
Problem Statement
Problem Statement
A cube of size NxNxN was divided into small cubes of size 1x1x1. Then, some of the small cubes were removed, and three photos of the large cube were taken. You are given these three photos in the String[] s A, B and C. Character y of element x of A will be 'Y' if at least one small cube with x-coordinate x and y-coordinate y wasn't removed, or 'N' otherwise. Character z of element x of B will be 'Y' if at least one small cube with x-coordinate x and z-coordinate z wasn't removed, or 'N' otherwise. Character z of element y of C will be 'Y' if at least one small cube with y-coordinate y and z-coordinate z wasn't removed, or 'N' otherwise. Return the minimal number of small cubes which could've been removed to result in those three photos. If there is no way the three photos can be valid, return -1 instead.
Constraints
- N will be between 1 and 50, inclusive.
- A, B and C will each contain exactly N elements.
- Each element of A, B and C will contain exactly N characters.
- Each element of A, B and C will contain only 'Y' or 'N' characters.
Examples
0)
{"YY","YY"}
{"YY","YY"}
{"YY","YY"}
Returns: 0
Remove no cubes.
1)
{"NNN","NNN","NNN"}
{"NNN","NNN","NNN"}
{"NNN","NNN","NNN"}
Returns: 27
You will have to remove all cubes.
2)
{"NNNNN","NNNNN","NNNNN","YYNNN","NNNNN"}
{"NNNNN","NNNNN","NNNNN","NNYNY","NNNNN"}
{"NNYNN","NNNNY","NNNNN","NNNNN","NNNNN"}
Returns: 123
3)
{"NNYNNNYNNYNNNNNNNNN","NNNNNNYNNNNYNNNNYNN","NYNYNNNNNNNNNNYNNNN","NNYNYYNNNYNYNNYNYNN","NNYNNNNNNYNNNNNNYNN","NNYNYYNNNYNNNNNNNNN","NNYNNNYNNNNYYNYNYNN","NYNNYYNNNYNNNYNNNNN","NYNNNYNNNNNNNYNNNNN","NNNYNNNNNNNNNNNNNNN","NNNNNNNNNYNNNYYNNNN","NNNYNNYNNNNNNNYNNNN","NNNNNNNNNYNNYNNNNNN","NYNNNYNNNNNNYNYNNNN","NYNNNNYNNNNYNNNNNNN","NNYYNYNNNNNNNNYNNNN","NNNNNNNNNNNNNNNNYNN","NNNNNNNNNYNYYYYNNNN","NNNNNNNNNYNNNNNNNNN"}
{"NNYNYNNNNYNNNNNNNNN","NNYNNNNNNNYNNNNNNNN","YNNNNNNNNNNYNNYNNNN","YNYYNNNNNYYNNNNNNNN","NNNNNNNNNYYNNNNNNNN","NNNYYNNNNYNNNNNNNNN","YNYNNNYNNYYNNNNNNNN","NNNYYNNNYNNYNNNNNNN","NNNYNNNNYNNYYNNNNNN","NNNNNNNNNNNNNNYNNNN","YNNNYNNNYNNNNNNNNNN","YNYNNNNNNYNNNNYNNNN","NNNNYNYNNYNNNNNNNNN","YNNYNNYNNNNNYNNNNNN","NNYNNNNNNNNNYNNNNNN","NNNYNNNNNYNNNNYNNNN","NNNNNNNNNNYNNNNNNNN","YNYNNNYNYYNNNNNNNNN","NNNNNNNNNYNNNNNNNNN"}
{"NNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNYYNNNNNN","NNNNNNNNNYNNNNNNNNN","NNNNNNNNNNNNNNYNNNN","NNNYNNNNNNNNNNNNNNN","NNNYNNNNNNNNNNNNNNN","NNYNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNN","NNNNYNNNNYNNNNNNNNN","NNNNNNNNNNNNNNNNNNN","NNYNNNNNNNNNNNNNNNN","NNNNNNYNNNNNNNNNNNN","NNNNNNNNYNNNNNNNNNN","YNNNNNNNNYNNNNNNNNN","NNNNNNNNNNNNNNNNNNN","NNNNNNNNNNYNNNNNNNN","NNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNN"}
Returns: 6787
4)
{"NNNNNNNNNYNYNNNNNNNNNNNNNN","NNNNNYNNNNNNNNNYNNNYNYNNYN","NNNNYNNNNNNYNNNYNNNNNNNNNN","NNNNNNNNNNNNNNNNNNYNNNYNNN","NNNYYNNNNNNYNNNNNNNNNYNNNN","NNNYNNNNNNNYNNNNNNNYNYNNNN","NNNNNNNNNNNNNNNNNNNNNYNNNN","NNNNNNNNNNNNNNNYNNNYNNNNNN","NYYNNNNNNNNNNNNNNNNNNNNNNN","NNYYNNNNNNNNNNNYNNYNNNYNNN","NYNNNYNNNNNYNNNNNNNNNNNNNN","NNYNNNNNNYNYNNNNNNNYNYNNNN","NNYYNNNNNNNYNNNYNNNNNNYNNN","NNNYNYNNNYNNNNNYNNNYNYNNNN","NNNYNNNNNNNNNNNNNNNYNYNNNN","NNYYNNNNNNNYNNNYNNNNNYNNNN","NYNYNNNNNNNNNNNYNNYNNNNNNN","NNYNNNNNNNNNNNNNNNNNNYNNNN","NNYYNNNNNNNNNNNYNNYNNNNNNN","NNNYNNNNNYNNNNNYNNNNNNYNNN","NNNNNNNNNNNNNNNNNNNYNNNNNN","NNNYNNNNNNNNNNNNNNNNNNNNNN","NNYYNNNNNNNNNNNNNNNNNYNNNN","NNNYYNNNNNNNNNNNNNNYNNNNNN","NNNYNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNYNNNYNNNNNNYNYN"}
{"NNNNNNNNNNNNNNNYNNNNNNNNNY","NNYNNNNNNNNNNNNNNYNNNYNNNN","NNNNNNNNNNYNNYNNNNNNYNNNNN","NNNNNNNYNNNNNNNNNNNNYNNNNN","NNNNNNNNNNYNNYNNNNNNNYNNNN","NNNNNYNNNNYNNNNNNNNNNYNNNY","NNNNNNNNNNNNNNNNNNNNNYNNNN","NNNNNNNNNNNNYNNNYNNNNNNNNN","NNNNNNNNNNNYNNNNNYNNNNNNNN","NNNNNYNYNNYNYNNNNNNNYNNNNN","NNNNNNNNNNNYNNNNNYNNNNNNNY","NNNNNNNNNNYNNNNYNYNNNYNNNY","NNNNNNNYNNYNNNNNNNNNYNNNNY","NNNNNNNNNNNNNNNYYYNNYYNNNN","NNNNNNNNNNNNNNNNYNNNNYNNNN","NNNNNYNNNNYNYNNNNNNNNYNNNY","NNNNYYNNNNNYNNNNNNNNYNNNNN","NNNNNNNNNNYNNNNNNNNNNYNNNN","NNNNYYNNNNYNYNNNNNNNYNNNNN","NNNNYNNYNNNNYNNYNNNNNNNNNN","NNNNNNNNNNNNNNNNYNNNNNNNNN","NNNNNYNNNNNNNNNNNNNNNNNNNN","NNNNYNNNNNNNNNNNNYNNNYNNNN","NNNNYNNNNNNNNYNNNNNNNYNNNN","NNNNYNNNNNNNNNNNNNNNNNNNNN","NNYNNNNYNNNNNNNNNNNNNNNNNY"}
{"NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNYNNNNNNNNNNNNNN","NNNNNNNNNNYNNNNNNYNNNNNNNN","NNNNYYNNNNYNNNNNNNNNNYNNNN","NNNNNNNNNNNNNYNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNYNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNYNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNYNNNNNNNNNNNNNNY","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNYNNNNNNNNNYNNNNNNNYNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNYNNNNN","NNNNNNNNNNNNNNNNYNNNNYNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNYNNNN","NNNNNNNYNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN","NNYNNNNNNNNNNNNNNNNNNNNNNN","NNNNNNNNNNNNNNNNNNNNNNNNNN"}
Returns: 17472
Submissions are judged against all 93 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Coding Area
Language: C++17 · define a public class ThreePhotos with a public method int removeCubes(vector<string> A, vector<string> B, vector<string> C) · 93 test cases · 2 s / 256 MB per case