我一看到此题,啪的一下,很快啊,就打了一个暴力,如下:
#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;
}
京公网安备 11010502036488号