Square? (Codeforces 1351B)
Tags: Math, brute force

Vasya claims that he had a paper square. He cut it into two rectangular parts using one vertical or horizontal cut. Then Vasya informed you the dimensions of these two rectangular parts. You need to check whether Vasya originally had a square. In other words, check if it is possible to make a square using two given rectangles.

Input: The first line contains an integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases in the input. Then $$$t$$$ test cases follow.Each test case is given in two lines.The first line contains two integers $$$a_1$$$ and $$$b_1$$$ ($$$1 \le a_1, b_1 \le 100$$$) — the dimensions of the first one obtained after cutting rectangle. The sizes are given in random order (that is, it is not known which of the numbers is the width, and which of the numbers is the length).The second line contains two integers $$$a_2$$$ and $$$b_2$$$ ($$$1 \le a_2, b_2 \le 100$$$) — the dimensions of the second obtained after cutting rectangle. The sizes are given in random order (that is, it is not known which of the numbers is the width, and which of the numbers is the length).

Output: Print $$$t$$$ answers, each of which is a string "YES" (in the case of a positive answer) or "NO" (in the case of a negative answer). The letters in words can be printed in any case (upper or lower).


Sample Inputs:
3
2 3
3 1
3 2
1 3
3 3
1 3

Sample Outputs:
Yes
Yes
No

Solution (Python):
k = ''
for i in range(int(input())):
    (a1, b1) = map(int, input().split())
    (a2, b2) = map(int, input().split())
    if a1 == a2 and b1 + b2 == a1 or (a1 == b2 and b1 + a2 == a1) or (b1 == a2 and a1 + b2 == b1) or (b1 == b2 and a1 + a2 == b1):
        k += 'Yes\n'
    else:
        k += 'No\n'
print(k)

Solution (Python):
t = int(input())
result = []
for i in range(t):
    (x, y) = input().split()
    x = int(x)
    y = int(y)
    (a, b) = input().split()
    a = int(a)
    b = int(b)
    if a == x and b + y == x or (a == y and b + x == y):
        result.append('Yes')
    elif b == x and a + y == x or (b == y and a + x == y):
        result.append('Yes')
    else:
        result.append('No')
for i in result:
    print(i)

Solution (Python):
l = [sorted(map(int, s.split())) for s in open(0)]
for ((a, b), (c, d)) in zip(l[1::2], l[2::2]):
    print('NYOE S'[b == d == a + c::2])