B - sls的玩具
题目描述
sls有一个纸方块。他用一个垂直或水平的刀把它切成两个矩形部分。然后告诉你这两个矩形部分的尺寸。你需要检查sls的纸方块最初是否有一个正方形。换句话说,检查是否有可能用两个给定的矩形做出一个正方形
输入格式
第 $1$ 行包含一个数 $t$, $t$ 代表测试样例数
接下来 $t$ 组输入。第一行包含两个整数a1 和 b1(即切割矩形后得到的第一个矩形的尺寸),第二行包含两个整数a2 和 b2(这是切割矩形后得到的第二行尺寸。尺寸以随机顺序给出) (也就是说,不知道哪个数字是宽度,哪个数字是长度)。
输出格式
输出 $t$ 行。每行答案都是一个字符串 “YES”(如果答案是肯定的)或 “NO” (如果答案是否定的)。单词中的字母不考虑大小写。
样例
样例输入
3
2 3
3 1
3 2
1 3
3 3
1 3
样例输出
Yes
Yes
No
思路
对于一个正方形进行切割,我们可以知道,两组数据中更大的那个数一定是相等的,而且更小的两个数相加一定等于更大的那个数
我的码码
#include<iostream>
using namespace std;
int main()
{
int t;
cin >> t;
while(t--)
{
int a1, b1, a2, b2;
cin >> a1 >> b1 >> a2 >> b2;
int max_1 = max(a1, b1);
int min_1 = min(a1, b1);
int max_2 = max(a2, b2);
int min_2 = min(a2, b2);
if((a1 == b1) || (a2 == b2))
{
cout << "No" << endl;
continue;
}
else
{
if(max_1 - min_1 == min_2 && max_1 == max_2)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}
return 0;
}