Minimal Square

简介: Minimal Square

文章目录

一、A. Minimal Square

总结


一、A. Minimal Square

本题链接:A. Minimal Square


题目:


A. Minimal Square


time limit per test2 seconds

memory limit per test256 megabytes

inputstandard input

outputstandard output


Find the minimum area of a square land on which you can place two identical rectangular a×b houses. The sides of the houses should be parallel to the sides of the desired square land.


Formally,


You are given two identical rectangles with side lengths a and b (1≤a,b≤100) — positive integers (you are given just the sizes, but not their positions).

Find the square of the minimum area that contains both given rectangles. Rectangles can be rotated (both or just one), moved, but the sides of the rectangles should be parallel to the sides of the desired square.

Two rectangles can touch each other (side or corner), but cannot intersect. Rectangles can also touch the sides of the square but must be completely inside it. You can rotate the rectangles. Take a look at the examples for a better understanding.

image.png


Input

The first line contains an integer t (1≤t≤10000) —the number of test cases in the input. Then t test cases follow.


Each test case is a line containing two integers a, b (1≤a,b≤100) — side lengths of the rectangles.


Output

Print t answers to the test cases. Each answer must be a single integer — minimal area of square land, that contains two rectangles with dimensions a×b.


Example

input

8

3 2

4 2

1 1

3 1

4 7

1 3

7 4

100 100

output

16

16

4

9

64

9

64

40000

Note

Below are the answers for the first two test cases:

image.png

本博客给出本题截图

image.png

image.png

image.png

题意t组数据,每次数据给一个长方形的长和宽,现在把两个 相同 的长方形放入到一个正方形内部,可以旋转长方形但旋转必须满足长方形的边和正方形的边相平行,两个正方形不可以重叠,求正方形面积最小值

AC代码

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int t;
    cin >> t;
    while (t -- )
    {
        int l, r;
        cin >> l >> r;
        if (l < r)
            swap(l, r);
        int len = max(r * 2, l);
        cout << len * len << endl;
    }
    return 0;
}

总结

水题,不解释

目录
打赏
0
0
0
0
62
分享
相关文章
成功解决matplotlib.units.ConversionError: Failed to convert value(s) to axis units: ‘LiR‘
成功解决matplotlib.units.ConversionError: Failed to convert value(s) to axis units: ‘LiR‘
|
11月前
|
C++
C++中的setprecision: fixed: scientific等函数
C++中的setprecision: fixed: scientific等函数
188 0
LeetCode 221. Maximal Square
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。
86 0
LeetCode 221. Maximal Square
undefined reference to `gdk_monitor_get_scale_factor/gtk_widget_get_scale_factor‘
undefined reference to `gdk_monitor_get_scale_factor/gtk_widget_get_scale_factor‘
118 0
Leetcode-Hard 84. Largest Rectangle in Histogram
Leetcode-Hard 84. Largest Rectangle in Histogram
124 0
Leetcode-Hard 84. Largest Rectangle in Histogram
Effective Objective-C 2.0 Tips 总结 Chapter 5,6,7
Effective Objective-C 2.0 Tips 总结 Chapter 5,6,7 Chapter 5 内存管理 Tips 29 理解引用计数 引用计数是 Objective-C 内存管理的基础,包括 ARC 也是建立在引用计数的基础之...
1340 0
Probability Distributions
Refer to R Tutorial andExercise Solution A probability distribution describes how the values of a random variable is distributed.
1433 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等