提供一个精简的AC代码
#include <cassert>
#include <iostream>
using namespace std;
const unsigned int mask = 0b111111111111;
int solve(int o, int x,int p){
switch (o) {
case 1 : return (x<<p)&mask;
case 2 : return (x>>p)|(mask^(mask>>p));
case 3 : return x&~(1<<p);
case 4 : return x|(1<<p);
default: assert(0);
}
return -1;
}
int main() {
int t;
cin >> t;
while(t--){
unsigned int o,x,p;
cin >> o >> x >> p;
cout << solve(o,x,p) << endl;
}
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号