不要二(找规律)

题目描述

二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。
对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:
( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根
小易想知道最多可以放多少块蛋糕在网格盒子里。

输入描述:

每组数组包含网格长宽W,H,用空格分割.(1 ≤ W、H ≤ 1000)

输出描述:

输出一个最多可以放的蛋糕数
示例1

输入

3 2

输出

4
 1 import java.util.Scanner;
 2 
 3 /**
 4  * 
 5  * 不要二
 6  * 所谓的欧几里得距离 就二十   坐标平方和 开方不为二
 7  *  只有 x 差为2 y 差为零
 8  *  或 x 差为零  y 差为二
 9  *  才能使得  距离为二
10  * @author Dell
11  *
12  */
13 public class Main {
14 static public int n ;
15 static public int m ;
16 static public int a[][];
17 
18 public static void main(String[] args) {
19     Scanner sc = new Scanner(System.in);
20      n = sc.nextInt();
21      m = sc.nextInt();
22      int res = 0;
23         if(n%4==0||m%4==0){res=m*n/2;}//如果能整除4 那么蛋糕个数为网格个数的一半
24           else{ res=n*m/2+1;}//不能被4整除 将蛋糕每隔一个空放一个 可以放多少 奇数的一半+1
25         System.out.println(res);
26         
27 }}

猜你喜欢

转载自www.cnblogs.com/the-wang/p/8979345.html