페이지

2272번: 램프

https://www.acmicpc.net/problem/2272


#include<stdio.h>
#include<algorithm>
using namespace std;
const int MAX_N = 1e6;
int a[MAX_N], b[MAX_N], n, m;
int main() {
    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; i++) scanf("%d", a + i);
    for (int i = 1; i <= m; i <<= 1) {
        if (!(i&m)) continue;
        copy(a, a + n, b);
        for (int j = 0; j < n; j++) a[j] = a[j] ^ b[(j + i) % n];
    }
    for (int i = 0; i < n; i++) printf("%d\n", a[i]);
    return 0;
}

댓글 없음 :

댓글 쓰기