分三种情况:
- 全部在第二个区间里
- 全部在第一个区间里
- 横跨两个区间
#include<iostream>
#include<algorithm>
using namespace std;
signed main(){
int offset, n, len1, len2;
while(cin >> offset >> n >> len1 >> len2){
if(offset >= len1){
cout << len1 << " " << len1 << " " <<
min(offset - len1, len2) << " " << min(offset - len1 + n, len2) << endl;
}
else if(offset + n <= len1){
cout << offset << " " << offset + n << " " << 0 << " " << 0 << endl;
}
else{
int t = len1 - offset;
cout << offset << " " << len1 << " " << 0 << " " << min(t, len2) << endl;
}
}
}

京公网安备 11010502036488号