室友问的题
注意判断正方形中心点在不在询问矩形中(重复算了两次)时
使用(n / 2 - a) * (n / 2 - c) <= 0 && (n / 2 - b) * (n / 2 - d) <= 0会爆long long
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,q;
ll a,b,c,d;
ll ans;
int main()
{
cin>>n>>q;
while(q--){
cin>>a>>b>>c>>d;
ans=max(0LL,min(c,d) - max(a,b) + 1) + max(0LL,min(c,n - 1 - b) - max(a,n - 1 - d) + 1);
if(n % 2 && n / 2 >= a && n / 2 <= c && n / 2 >= b && n / 2 <= d)--ans;
cout<<ans<<endl;
}
return 0;
}
我也是,就是过不了
https://bbs.csdn.net/topics/392963885 老哥,看看这个会不会有思路