题目
题解
代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf=1e18;
ll up(ll x,ll y) {return x%y ? x/y+1 : x/y;} //除法向上取整
int main()
{
int T; scanf("%d",&T);
while(T--)
{
ll n,m,x1,x2; scanf("%lld%lld%lld%lld",&n,&m,&x1,&x2);
ll i=inf;
i=min(i,m-x2);
i=min(i,x1-1);
i=min(i,n-1);
if(x1==x2) i=min(i,up(n-2,2));
if(x1<x2) i=min(i,up(x2-x1+n-3,2));
if(x1>x2) i=min(i,up(x1-x2+n-3,2));
printf("%lld\n",i*i);
}
return 0;
}