Files
2019-03-15 13:47:54 +04:00

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);
}
}