Problem Statement
This problem contains HTML superscripts and images which will not display correctly for plugin users
Consider a finite two-dimensional grid where each cell is either occupied or empty. You are given two
Return a
Definition
- Class:
- Projections
- Method:
- count
- Parameters:
- String, String
- Returns:
- int[]
- Method signature:
- int[] count(String front, String right)
- (be sure your method is public)
Constraints
- front will contain between 1 and 50 elements, inclusive.
- right will contain between 1 and 50 elements, inclusive.
- Each character in front and right will be "." or "x".
- Both front and right will contain at least one "x" character.
Examples
"x"
"x"
Returns: {1, 1 }
There is only one cell on the grid and it is obviously occupied.
"x."
".x"
Returns: {1, 1 }
There is only one possible 2x2 grid with such projections (dark squares represent occupied cells):
"xxxx"
"x..x"
Returns: {4, 8 }
One possible assignment with the minimum possible number of cells occupied is the following: The only possible assignment with the maximum possible number of cells occupied is the following:
"x.x.x.x"
"x.x.x.x"
Returns: {4, 16 }
"x...xx..x.xxx..x.xx."
".xx..xxx.xx."
Returns: {10, 70 }
".x..x.xxx.xxxxxxxxxxx......x.x."
"x.xx..x..x...x"
Returns: {18, 108 }
".x.xxx.xxxxx.xx.xx...xxxx.xxx...x"
"x...x..x"
Returns: {21, 63 }
".x.x"
"xxx.xx...xxx.x.xxx.xx.xx.x.x.x."
Returns: {19, 38 }
".x....x.x.x...x.x.xx.xx.x..xxx.."
"...xx.x.x.x.x...xx.x.....xx..xx.xx.x"
Returns: {16, 224 }
".x..x..xx..x.xx..x.xx...x.x..xx."
"xxxxxx.xxx..x...xxxx.xxx.xxx......x...xx.x"
Returns: {24, 336 }
"xx....xx.xx..x...x..x.x.x.xxxx.xx.x..x.xx"
".x...xxx.xx..xxxx..x..x.xxx.."
Returns: {21, 315 }
"x."
"..xx...xx......xxx....x....."
Returns: {8, 8 }
"..x.x..xxxx..xxxxx..xxx.xxx"
"xxx..x..xxxxx.x..xxxxx.xxx...x.xxx.x.x.xxxx.x."
Returns: {29, 493 }
"x.x.x.x.xx.xx.xx.xxx.x.."
".xx..xx.x..x...x.x.xxx..x.x...xxxxx"
Returns: {18, 252 }
"...x....xx...xx...xx....xx...x"
"xxx.x.....x."
Returns: {10, 50 }
"..x.xx...xxxx.x..xx.xxxxx.x.xx..x.xx..x.xxxx"
"xx..x.xxx.x....x...x.xx.xx.."
Returns: {26, 338 }
".....xx.xx."
"x...x.xxxxxxx..xx.x..x.xxxxxxxx...xx."
Returns: {23, 92 }
".x.x.x.xxx.xx...x...x.x..xx."
".x....x.xx..xxx.x...x.x.."
Returns: {13, 130 }
"xx"
"..x.x.x.xxx.xx...xx.x."
Returns: {11, 22 }
"..xx.x..x.....x.xxxxx"
"....xx.x.x..x.xx.x.x.xx..x.xx.xx...xx..x.....x.."
Returns: {20, 200 }
"xx.....x."
"x.x..xxxx.....x..x.x"
Returns: {9, 27 }
".x..x.xx.x...x.x....x.x..x...xx"
"x.....x"
Returns: {12, 24 }
"x."
"xxxxxx.x.xxxxxxxxx"
Returns: {16, 16 }
".x.x.x...xxxxxx...xx.x..xxxxx.xxxxx...xx.x.xx"
"....xx.xxx.x.xx..xx......"
Returns: {27, 270 }
"..x..xxx.xx.x..x.x"
"x.....x..xxx...."
Returns: {9, 45 }
"xxx...xxx..xx.x....xx."
"..xx...x.xxx.x."
Returns: {11, 77 }
".xxxxx..x..xx..."
"xxx.....x..xx.x........xx....x.x.x."
Returns: {12, 96 }
"xx.x.....x.xxxxx...x.....xx"
".xxx..x.xx.."
Returns: {12, 72 }
"x."
"xxxxxxxxxxx...x....xx..x..x.xx.x.x.x.xxxx...."
Returns: {25, 25 }
"..xxxx...x..x.x...xx..xx...x"
".xxx.xxxx.x..x.x.x.xx......xx...xx...xx...x.xx"
Returns: {22, 264 }
".xx...xx.xxxx.....xx....x.x.x....xxx.....x..x."
".x.x..xxx.xx..x..xxx..xxx"
Returns: {18, 252 }
"xx.xx.x..x..xxx..x.xxx...xx....x.x...x.xx...x.."
"..x....xxxx.xxxxxx.x.x.xx...xxxxxx.xx....x.x..x.x"
Returns: {27, 567 }
"...xxx.....x.x.xxx..xx.xxxxx.xxx."
".....x.xxxxxx....x"
Returns: {18, 144 }
"...xxx..x.xx..xxx....x.x."
".xxx."
Returns: {11, 33 }
"x.x.x.xxxxx"
".......xxxxxxx"
Returns: {8, 56 }
"x"
"xx"
Returns: {2, 2 }
"x...xx..x.xxx..x.xx."
".xx..xxx.xx."
Returns: {10, 70 }
"x...xx..x.xxx..x.xx."
".xx..xxx.xx.xxx"
Returns: {10, 100 }
"xx"
"xxx"
Returns: {3, 6 }
"x.x.x.x"
"x.x.xxx"
Returns: {5, 20 }
".xx..xxx.xx."
"x...xx..x.xxx..x.xx."
Returns: {10, 70 }
".x."
"xxxx.xx.x...x.xx..xx"
Returns: {12, 12 }
"x"
"x"
Returns: {1, 1 }
".x."
".x..x..x"
Returns: {3, 3 }
".xx..xxx.xx..xx..xxx.xx..xx..xxx.xx."
"x...xx..x.xxx..x.xx..xx..xxx.xx."
Returns: {21, 357 }
"xx.."
"xxxx"
Returns: {4, 8 }
"xx"
"..xx"
Returns: {2, 4 }
"xx..."
"xxxxx"
Returns: {5, 10 }
".xx..xxx.xx..xx..xxx.xx..xx..xxx.xx."
"x...xx..x.xxx..x.xx..xx..xxx.xx.xxxxxx"
Returns: {23, 483 }
"x."
"xxxx.."
Returns: {4, 4 }
"x.x"
"xxx"
Returns: {3, 6 }
"xx"
"x.x.x"
Returns: {3, 6 }
".x"
"xxx"
Returns: {3, 3 }
"x.x.x.x"
"x.x.x.x.x"
Returns: {5, 20 }
"x.."
"xxx"
Returns: {3, 3 }
"x"
".x"
Returns: {1, 1 }
"..x."
".xxx"
Returns: {3, 3 }
"...x.x.xxx"
"x.xxx.x.x.x"
Returns: {7, 35 }
".xx.xx.xx"
"x...xx..x.xxx..x.xx."
Returns: {10, 60 }
"x."
"xx"
Returns: {2, 2 }
"x..x"
"xxxx"
Returns: {4, 8 }
"x."
".xxxxxxx"
Returns: {7, 7 }
"x"
"xxxxxxxxx"
Returns: {9, 9 }
"x.."
".xx"
Returns: {2, 2 }
"xx."
"xxxxxxxxxxxxxxxxxxxxxxxxxxx.x"
Returns: {28, 56 }
".x.....x.x...x.....x..x.xx...xxx..x...x....x.x..xx"
"x.xxxxxxxxxxxxxx.xxxxxxxxxx.xxxxxxxxxxxxx.xxxx.xxx"
Returns: {45, 765 }
"xxxxx.x.....xx.x.x..x..x....xx..."
"...xx.x.x.x..x.....xx......x...x......xx"
Returns: {14, 168 }
"x"
"x.x.x.x"
Returns: {4, 4 }
"x...xx.."
".xx..xxx.xx."
Returns: {7, 21 }
"xx..xx..xx..xx..xx..xx..xxxx...."
".......xx....xxx..."
Returns: {16, 80 }
"x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x."
".x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x"
Returns: {25, 625 }
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx."
".x"
Returns: {47, 47 }
"x."
"xxxxxx"
Returns: {6, 6 }
"xx"
"..xxx"
Returns: {3, 6 }
"x"
".xxx"
Returns: {3, 3 }
"x"
"xxxxxx"
Returns: {6, 6 }
".x..."
".xx.x"
Returns: {3, 3 }
".x"
"xx"
Returns: {2, 2 }
".xx."
"xxxx"
Returns: {4, 8 }
"x"
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Returns: {50, 50 }