ICPC 6918 And Or

来源:互联网 发布:网达软件工资水平 编辑:程序博客网 时间:2024/05/03 18:46




#include<iostream>#include<cstdio>using namespace std;#define ll long longlong long A,B;ll solve(ll x){ll cnt = 0;ll y = 1;while(x>=y){//cout<<"/////"<<endl;y = y<<1;++cnt;}return cnt;}int main(){ll T;scanf("%lld",&T);ll g = 1;while(T--){printf("Case %lld: ",g++);scanf("%lld%lld",&A,&B);ll x = solve(A);ll y = solve(B);ll ans2 = 0,ans1 = 0;if(x!=y)ans1 = (1ll<<y)-1; else {for(ll i=x-1;i>=0;i--){ll num1,num2;if(((A>>i)&1)==1)num1 = 1;else num1 = 0;if(((B>>i)&1)==1)num2 = 1;else num2 = 0;ll pp = (1ll<<i);if(num1!=num2){ans1= ans1+ (1ll<<(i+1))-1;break;}if(num1&&num2){ans1+=pp;ans2+=pp;}}  }printf("%lld %lld\n",ans1,ans2);}return 0;}



0 0
原创粉丝点击