第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南)Xor Transformation

  • 时间:
  • 浏览:
  • 来源:互联网

给出两个数  a,b ,并利用最多 5 次操作使 a 变为 b

每次操作可以选择一个数 x (0<x<a) ,a=a^x,输出每次 x 的值

int main()
{
    ll a,b;
    while(~sll(a)){
        sll(b);
        puts("2");
        ll ans=a^b;
        ll res=1;
        while(res*2<=ans) res*=2;
        printf("%lld %lld\n",(a^b)-res,res);
    }
    //PAUSE;
    return 0;
}

 

本文链接http://www.dzjqx.cn/news/show-617101.html