题目描述:
二货小易有一个WH的网格盒子,网格的行编号为: 0 ~ H-1,网格的列编号为0 ~ W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1)(x2,y2)的欧几里得距离为:((x1-x2)" (x1-x2) + (y1-y2) " (y1-y2) )的算术平方根,小易想知道最多可以放多少块蛋糕在网格盒子里。
输入描述:
每组数组包含网格长宽W,H,用空格分割. (1 <W < 1000)
输出描述:
输出一个最多可以放的蛋糕数
示例:
输入:
3 2
输出:
4
分析:
1.如果行(列)是4的倍数,那么每一行(列)放的蛋糕数是行(列)数的一半,此时乘以剩下的列(行)数,就是我们所能放的最大蛋糕数量
2.如果不是4的倍数,将蛋糕每隔一个空放一个 可以放多少 奇数的一半+1。
代码:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int H = sc.nextInt();
int W = sc.nextInt();
int count = 0;
if(H%4==0||W%4==0){
count = H*W/2;
}else{
count = H*W/2+1;
}
System.out.println(count);
}
}