解题思路:
由题意知任意两块蛋糕的欧几里得距离不能等于2,也即有两组关系:(1)x1 - x2 = 2(或-2),y1 - y2 = 0;(2)y1 - y2 = 2(或-2),x1 - x2 = 0;可理解为若开始放蛋糕的位置为(x,y);则对于每一行来说(x + 2, y)处不能放蛋糕;对于每一列来说(x, y + 2)处不能放蛋糕。
一个较为简单的数学问题,举例就能发现规律,4为周期,如下图:
我们也可定义一个二维数组,不初始化,则其默认的值均为0;然后把不能放蛋糕的地方置为-1;最后还剩几个0就表示可以放多少的蛋糕。
方法一:
找规律,不管是行还是列,只要有一个能够被4整除,蛋糕数就为网格总数的一半;如果行跟列都不能被4整除,蛋糕数等于网格总数除以2,再加上1。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int H = sc.nextInt()