zoukankan      html  css  js  c++  java
  • codeforce F. Multicolored Markers

    http://codeforces.com/contest/1029/problem/F

    这道题真的一点都不难……………………………………………………

    对于大矩形面积a+b,从差距最小的因数开始遍历,直到遇到第一个a、b中的任何一个,能变成一个矩形并能放在大矩形中(因为最后的大矩形的面积一定等于a+b,所以剩余空间一定可以填补),我们就找到了解。

     1 import java.util.*;
     2 
     3 public class A {
     4     public static void main(String[] args) {
     5         Scanner io = new Scanner(System.in);
     6         long a = io.nextLong(), b = io.nextLong(), c = a + b;
     7         long min = 0, max = 0;
     8 
     9         for (long i = (long) Math.sqrt(c); i >= 1; i--) {
    10             if (c % i == 0) {
    11                 min = i;
    12                 max = c / i;
    13 
    14                 //当两个因数差距越来越大时,max的长度比min大一倍多,所以max妥妥超时
    15                 for (long j = min; j >= 1; j--) {
    16                     if (a % j == 0 && a / j <= max || b % j == 0 && b / j <= max) {
    17                         System.out.println((min + max) * 2);
    18                         return;
    19                     }
    20                 }
    21             }
    22         }
    23 
    24     }
    25 }
  • 相关阅读:
    angular模板
    Growth: 全栈增长工程师指南
    全栈增长工程师实战
    vue 快速搭建项目 iview
    ng-style
    教程视频链接
    内置对象
    对象—封装、继承
    对象—构造函数
    函数-理论
  • 原文地址:https://www.cnblogs.com/towerbird/p/11723599.html
Copyright © 2011-2022 走看看