A26383. 区间的交
填空题
较易
知识点
题目描述
区间的交
题目描述
一个区间可以由两个整数描述,表示为 [a,b], 意思是所有大于等于 a 且小于等于 b 的数字。
给定两个区间,第一个是 [a,b],第二个是 [p,q],请判断这两个区间的关系。
如果这两个区间没有公共的交集,输出 Disjoint
否则,如果一个区间完全包含另一个区间,输出 Nested
否则,如果两个区间有一部分内容重叠,输出 Overlap
输入格式
第一行:两个整数 a 与 b
第二行:两个整数 p 与 q
输出格式
根据区间的相交关系输出 Disjoint、Nested 或 Overlap
输入样例1
1 10
2 20输出样例1
Overlap输入样例2
-1 1
10 20输出样例2
Disjoint输入样例3
-100 100
-10 10输出样例3
Nested说明提示
-1,000,000,000≤a≤b≤1,000,000,000
-1,000,000,000≤p≤q≤1,000,000,000
参考答案
#include <iostream>
using namespace std;
int main() {
int a, b, p, q;
cin >> a >> b >> p >> q;
// 判断是否无交集
if (b < p || q < a) {
cout << "Disjoint" << endl;
}
// 判断包含关系
else if ((a <= p && q <= b) || (p <= a && b <= q)) {
cout << "Nested" << endl;
}
// 部分重叠情况
else {
cout << "Overlap" << endl;
}
return 0;
}
上一题
下一题