《0分,全WA》
查看原帖
《0分,全WA》
1390387
vector_STL_楼主2024/8/30 13:56
 #include <iostream>
#include <vector>

using namespace std;

const int MOD = 1000000007;

int main() {
    int N, k;
    cin >> N >> k;
    int size = 1 << N; 
    vector<long long> a(size);

    for (int i = 0; i < size; ++i) {
        cin >> a[i];
    }

    
    vector<long long> quadrant_sums(k, 0);
    for (long long num : a) {
        int quadrant = num % k;
        quadrant_sums[quadrant] = (quadrant_sums[quadrant] + num) % MOD;
    }


    for (int i = 0; i < size; ++i) {
        if (i % 2 == 1) {
            a[i] = quadrant_sums[(a[i] % k)] % MOD; // 使用计算好的象限和来替换奇位数
        }
       
    }

    for (long long num : a) {
        cout << num << " ";
    }
    cout << endl;

    return 0;
}
2024/8/30 13:56
加载中...