我一看到此题,啪的一下,很快啊,就打了一个暴力,如下:

#include<bits/stdc++.h>
using namespace std;
bool check(int x,int y,int k)
{
    if(x==0&&y==0) return 1;
    if(k==10004) return 0;
    return check(x^y,abs(x-y),k+1);
}
int main()
{
    for(int i=1;i<=100;i++)
    {
        for(int j=1;j<=100;j++)
            cout<<check(i,j,0)<<" ";
        cout<<"\n";
    }
    return 0;
}

通过此程序,我发现不管x,y为何值,都可以在有限的步数换为 0,0
那么这题就非常简单了

参考代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
int T;
int x,y,xx,yy;
void work()
{
    cin>>x>>y>>xx>>yy;
    cout<<(xx-x+1)*(yy-y+1)<<"\n";
}
signed main()
{
    cin>>T;
    while(T--)
        work();
    return 0;
}