#icpc2013summerday3j. [icpc2013summer_day3_j]A + B
[icpc2013summer_day3_j]A + B
在编程比赛的集训中没有出现问题的想法而感到为难的甲,某一天和朋友商量了。
A: “如果不使用这种算法的话,我想提出一个无法解决的问题,怎么做~?”
朋友:“这种东西想想不就出来了吗?”(真NB)
就这样,那个朋友考虑了以下问题的草案。
给你两个二进制数A,B,做如下变换:
操作1:输出在二进制下1的个数最大的X;A<=X<=A+B;
操作2:将A从开始最下位翻转i位;
操作3:将B从开始最下位翻转i位;
注:i是从最下位到第0位表示最下位
输入格式:第一行一个N,然后二进制数A,B; 2~N+1行 Q表示查询,就是操作1; A i 表示操作2; B i 表示操作3;
输出格式:每次Q查询,输出一行答案