• 2017网易---不要二


    题目描述

    二货小易有一个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

    题目链接

    法一:数学,规律如下:即,每4*4的矩形框就可以分配如下的蛋糕。可以找完所有4*4的方格之后,再计算剩余多的方格可以放多少蛋糕。代码如下(耗时7ms,第一次暂居第一欸):
    蛋糕 蛋糕    
    蛋糕 蛋糕    
        蛋糕 蛋糕
        蛋糕 蛋糕
     1 import java.io.BufferedReader;
     2 import java.io.IOException;
     3 import java.io.InputStreamReader;
     4 
     5 public class Main {
     6 
     7     public static void main(String[] args) throws IOException {
     8         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
     9         String line = in.readLine();
    10         String[] s = line.split(" ");
    11         int w = Integer.parseInt(s[0]), h = Integer.parseInt(s[1]);
    12         int res = 0;
    13         int w_yu = w % 4, h_yu = h % 4;
    14         res = (w - w_yu) * (h - h_yu) / 2;
    15         //横向多余
    16         res += w_yu * (h - h_yu) / 2; 
    17         //竖向多余
    18         res += h_yu * (w - w_yu) / 2;
    19         //重叠多余
    20         if(w_yu == 1 || w_yu == 2) {
    21             if(h_yu == 1) {
    22                 res += 1 * w_yu;
    23             }
    24             else if(h_yu >= 2) {
    25                 res += 2 * w_yu;
    26             }
    27         }
    28         else if(w_yu == 3 || w_yu == 4) {
    29             if(h_yu <= 2) {
    30                 res += 2 * h_yu;
    31             }
    32             else {
    33                 res += (h_yu - 2) * (w_yu - 2) + 4;
    34             }
    35         }
    36         System.out.println(res);
    37     }
    38 
    39 }
    View Code
  • 相关阅读:
    JS----事件
    JS----计时器
    JS----文档对象模型
    JS----基本数据类型
    JS----函数
    JS----数组
    JS----正则表达式
    CSS----盒子模型与浮动
    Web-9月13日随笔
    Web-9月14日随笔
  • 原文地址:https://www.cnblogs.com/cing/p/8628559.html
Copyright © 2020-2023  润新知