PROBLEM DESCRIPTION
Given the position of a Bishop (A, B) on an 8 x 8
chessboard.
Your task is to count the total number of squares that can be visited by the Bishop in one move.
The position of the Bishop is denoted using row and column number of the chessboard.
SOLUTION
Bishop can only move diagonally.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Solution {
public int solve(int A, int B) {
// change to 0 index
A = A-1;
B = B-1;
// top left
// limited by top rows and left columns
int tl = Math.min(A, B);
// top right
// limited by top rows and right columns
int tr = Math.min(A, 8-B-1);
// bottom left
// limited by bottom rows and left columns
int bl = Math.min(B, 8-A-1);
// bottom right
// limited by bottom rows and right columns
int br = Math.min(8-B-1, 8-A-1);
// total squares possible
return tl + tr + bl + br;
}
}