救救我,满江红,悬关
查看原帖
救救我,满江红,悬关
1333723
kervinyan楼主2024/6/3 20:47

废话不多说,上代码

#include <iostream>

using namespace std;

int main() {
    int n, q;
    cin >> n >> q; // 读取n和q的值

    long long sum_x = 0; // 累加变量,使用long long防止可能的溢出

    for (int i = 0; i < q; ++i) {
        int k;
        cin >> k; // 读取每次操作的k值

        // 检查n的第k位(从右往左数)是否为0,如果是,则将其设置为1
        if (((n >> (k - 1)) & 1) == 0) {
            sum_x += (1LL << (k - 1)); // 将n的第k位设置为1(如果原先为0),并累加到sum_x中
        }
    }

    cout << sum_x << endl; // 输出sum_x的值

    return 0;
}

2024/6/3 20:47
加载中...