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