STIPC-003_编程挑战系列赛第三场(柯柯的期末祝福) _E.公正的决赛

原题链接:STIPC-003_E.公正的决赛

E.公正的决赛

题目背景

北京时间2021年6月16日凌晨,世预赛亚洲区A组末轮展开角逐,中国3-1击败叙利亚,成功晋级世预赛亚洲区12强赛。

题目描述

现在,有四名选手参加了一场不为人知的比赛,你负责判定比赛进行的准确性。

比赛按照以下方案进行:

第一名选手与第二名选手比赛,第三名选手与第四名选手比赛,获胜者将参加比赛决赛。

众所周知,在两名球员之间的比赛中,技术更高的一方将获胜。第 i i i 个玩家的技能等于 S i S_i Si 并且所有技能水平成对不同(即,数组 S S S 中没有两个相同的值)。

如果技能最高的两名球员在决赛中相遇,则该比赛被称为公平。

你判断的依据就是确认给定的比赛是否公平。

输入格式

第一行包含一个整数 t ( 1 ≤ t ≤ 1 0 4 ) t (1 ≤ t ≤ 10^4) t(1t104) ——测试用例的数量。

每行测试用例包含四个整数 s 1 , s 2 , s 3 , s 4 ( 1 ≤ s i ≤ 100 ) s1,s2,s3,s4 (1≤si≤100) s1,s2,s3,s4(1si100) ——玩家的技能值。

保证数组中的所有数字都不同。

输出格式

对于每个测试用例,如果比赛公平,则输出 Y E S YES YES ,否则输出 N O NO NO

输入输出样例

输入 #1:

4
3 7 9 5
4 5 6 9
5 3 8 1
6 5 3 2

输出 #1:

YES
NO
YES
NO
说明/提示

样例的解释说明:

在第一个测试案例中,技能 7 和 9 的选手 2 和 3 晋级决赛;

在第二个测试案例中,技能 5 和 9 的选手 2 和 4 晋级决赛。技能 6 的选手没有晋级,而技能 5 的选手晋级决赛,所以比赛不公平;

在第三个测试案例中,技能 5 和 8 的选手 1 和 3 晋级决赛;

在第四个测试案例中,技能 6 和 3 的选手 1 和 3 晋级决赛。 技能 5 的选手没有晋级,而技能 3 的选手晋级决赛,所以比赛不公平。

题目解析:

对于本题,更容易确定技能最高的选手在决赛中不会相遇的情况。

这意味着他们在半决赛中相遇,而在其他半决赛中,双方球员都较弱。

使用以下公式很容易检查这种情况: m i n ( s 1 , s 2 ) > m a x ( s 3 , s 4 ) min(s_1,s_2)>max(s_3,s_4) min(s1,s2)>max(s3,s4) m a x ( s 1 , s 2 ) < m i n ( s 3 , s 4 ) max(s_1,s_2)<min(s_3,s_4) max(s1,s2)<min(s3,s4)

AC代码(C++):
#include <bits/stdc++.h>
using namespace std;
int main() {
	int t;
	cin >> t;
	while (t--) {
		int s[4];
    	for (int i = 0; i < 4; i++) cin >> s[i];
    	if (min(s[0], s[1]) > max(s[2], s[3]) || max(s[0], s[1]) < min(s[2], s[3]))
    		cout << "NO\n";
    	else
    		cout << "YES\n";
	}
	return 0; 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grape_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值