68 lines
1.9 KiB
Java
68 lines
1.9 KiB
Java
package chelper;
|
|
|
|
import io.InputReader;
|
|
import io.OutputWriter;
|
|
import misc.SimpleSavingChelperSolution;
|
|
|
|
|
|
public class CHQUEENS extends SimpleSavingChelperSolution {
|
|
|
|
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
|
wrapSolve(testNumber, in, out);
|
|
}
|
|
|
|
@Override
|
|
public void solve(int testNumber) {
|
|
int n = in.nextInt();
|
|
int m = in.nextInt();
|
|
int x = in.nextInt() - 1;
|
|
int y = in.nextInt() - 1;
|
|
|
|
// int[] a = {
|
|
// x - 1,
|
|
// Math.min(x - 1, m - y),
|
|
// m - y,
|
|
// Math.min(m - y, n - x),
|
|
// n - x,
|
|
// Math.min(n - x, y - 1),
|
|
// y - 1,
|
|
// Math.min(y - 1, x - 1),
|
|
// };
|
|
|
|
int res = 0;
|
|
for (int i = 0; i < n; i++) {
|
|
for (int j = 0; j < m; j++) {
|
|
if (i == x && j == y) {
|
|
continue;
|
|
}
|
|
|
|
int canSee = 0;
|
|
|
|
// canSee += i;
|
|
// canSee += Math.min(i, m - j - 1);
|
|
// canSee += m - j - 1;
|
|
// canSee += Math.min(m - j - 1, n - i - 1);
|
|
// canSee += n - i - 1;
|
|
// canSee += Math.min(n - i - 1, j);
|
|
// canSee += j;
|
|
// canSee += Math.min(j, i);
|
|
|
|
if (i == x && j < y) canSee += y - j - 1; else canSee += m - j - 1;
|
|
if (i < x && j == y) canSee += x - i - 1; else canSee += n - i - 1;
|
|
if (i == x && j > y) canSee += j - y - 1; else canSee += j;
|
|
if (i > x && j == y) canSee += i - x - 1; else canSee += i;
|
|
|
|
|
|
if (i < x && x - i == y - j) canSee += x - i - 1; else canSee += Math.min(n - i - 1, m - j - 1);
|
|
if (i < x && x - i == j - y) canSee += x - i - 1; else canSee += Math.min(n - i - 1, j);
|
|
if (i > x && i - x == j - y) canSee += i - x - 1; else canSee += Math.min(i, j);
|
|
if (i > x && i - x == y - j) canSee += i - x - 1; else canSee += Math.min(i, m - j - 1);
|
|
|
|
res += n * m - canSee - 2;
|
|
}
|
|
}
|
|
|
|
out.println(res);
|
|
}
|
|
}
|