https://codeforces.com/contest/2004/problem/B
思维问题
题意:n个room和n-1个door,给定两个区间,有俩人在这两区间的任意房间中。问锁多少个door,可以保证两人不会见面。
思路:如果两个区间没有重叠,则锁一个门即可。如果有重叠,首先要把重叠的区间中门全锁住,然后判断两个区间左右端点是否重叠,如果不重叠还要锁靠内的区间端点的门。
void solve(){
int a, b, c, d;
cin >> a >> b >> c >> d;
if (b < c || d < a) {
cout << 1 << '\n';
}
else {
cout << (min(b, d) - max(a, c) + (a != c) + (b != d)) << '\n';
}
}