美文网首页
Codeforces 1360A - Minimal Squar

Codeforces 1360A - Minimal Squar

作者: 费城的二鹏 | 来源:发表于2020-05-25 14:19 被阅读0次

呆萌的猫咪,哈哈哈哈哈。

翻译

最小的正方形

找到最小面积的一个正方形陆地,以保证可以放置两个 a * b 的长方形屋子,要求房屋的边与方形边平行。也就是不允许斜着放。

  • 提供给你两个一样的长方形,边长分别是 a 和 b,只指定边长不指定位置。
  • 找到一个最小面积的正方形,可以包含提供的两个矩形,矩形可以旋转和移动,但是矩形的边必须与正方形平行

两个矩形可以挨着但是不能重叠,可以挨着边框但是不能超出。

输入格式

输入 t ,表示测试用例组数。
接下来每组测试用例输入 a b,用空格分隔。

输出格式

每个测试用例单独输出一行,正方形的面积。

分析

贪心算法,长边相接占用面积最小,然后用拼接后的长边的平方就是答案。

可以想象到,拼接后的长边的平方就是答案,而长边相接得到的方形的长边最小。

代码(PyPy3)

# https://codeforces.com/problemset/problem/1360/A

import sys
import os
import heapq

try:
    path = "./file/input.txt"
    if os.path.exists(path):
        sys.stdin = open(path, 'r')
    # sys.stdout = open(r"./file/output.txt", 'w')
except:
    pass

t = int(input())

def printd(value):
    # print(value)
    pass

for _ in range(t):
    arr = list(map(int, input().split(" ")))
    a, b = arr[0], arr[1]
    if a > b:
        b *= 2
    else:
        a *= 2
    if a > b:
        result = a * a
    else:
        result = b * b
    print(result)

更多代码尽在 https://github.com/Tconan99/Codeforces

by 费城的二鹏 2020.05.25 长春

相关文章

网友评论

      本文标题:Codeforces 1360A - Minimal Squar

      本文链接:https://www.haomeiwen.com/subject/okryahtx.html