题目描述:
核心思想:建立一个二维数组,分析可以得到只有距离某个点直线的距离为2的时候才不可以放蛋糕,所以将每一个不能放蛋糕的二位数组的那个位置设置为-1(或者其他值都可以),计算不是-1的二维数组的格子有多少个就可以得出结论。
以4×3举例:
import java.util.*;
public class Solution{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n1 = sc.nextInt(); //列
int n2 = sc.nextInt(); //行
int[][] arr = new int[n2][n1]; //建立一个二维数组
int num = 0; //计算有多少个格子可以放蛋糕
for (int i = 0; i < n2; i++) {
for (int j = 0; j < n1; j++) {
if (arr[i][j] != -1){
num++;
//将距离这个格子的欧利距离为2的格子的值设置为-1
if (j+2 < n1) {
arr[i][j+2] = -1;
}
if (i+2 < n2) {
arr[i+2][j] = -1;
}
}
}
}
System.out.println(num);
}
}
}