페이지

1030번: 프렉탈 평면

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


$O(rc)$ // r, c는 구간 크기

(x,y)는 x, y를 각각 n진법으로 나타냈을 때 두 수 모두 어떤 자리 값이 [(n-k)/2,(n+k)/2) 범위에 해당하는 자리가 있다면 1 아니면 0


#include<cstdio>
int n, k, s, r1, r2, c1, c2;
int main() {
    scanf("%d%d%d%d%d%d%d", &s, &n, &k, &r1, &r2, &c1, &c2);
    for (int i = r1; i <= r2; i++) {
        for (int j = c1; j <= c2; j++) {
            int b = 0;
            for (int x = i, y = j; x; x /= n, y /= n)
                b |= x%n * 2 >= n - k&&x%n * 2 < n + k && y%n * 2 >= n - k&&y%n * 2 < n + k;
            printf("%d", b);
        }
        puts("");
    }
    return 0;
}

댓글 없음 :

댓글 쓰기