포함-제외를 사용하면 다른 값 중 일부를 알고있는 집합 간의 교집합과 교집합의 크기를 계산할 수 있습니다. 나는 그것을 정확하게 설명하지는 않지만, 당신의 도전은 벤 다이어그램에서 포함 제외를 시각화하는 것입니다.
내가 좋기 때문에 원이 아닌 사각형을 사용하게됩니다.
합리적인 형식으로 왼쪽 상단 및 오른쪽 하단 모서리 좌표로 표시되는 사각형 목록이 제공됩니다 (4 개의 튜플 목록, 페어 쌍 목록, 페어 목록 등). 모든 좌표가 음이 아니며 언어의 (합리적인) 숫자 범위 내에 있다고 가정 할 수 있습니다 (128보다 작은 경우의 값을 지정하십시오). 왼쪽 포함 또는 왼쪽 독점 및 오른쪽 포함 또는 오른쪽 독점 중에서 선택할 수 있습니다. 선택한 형식에 관계없이 모든 사각형이 1x1 이상이라고 가정 할 수 있습니다.
그런 다음 공백이 아닌 단일 문자를 사용하여 화면의 각 사각형 (ASCII 캔버스)을 그려야 k
합니다.
그러나 두 개의 사각형이 겹칠 때마다 겹치는 영역은 공백이 아닌 다른 문자와 함께 l != k
선택해야합니다.
마다 세 개의 사각형이 중첩 영역이 중첩에 그려 져야 k
하고, 덮는 직사각형의 홀수 번호 k
, 및 짝수 l
.
배경은 단일 공백 ( 0x20
) 이어야합니다 .
테스트 사례 ( k = "#", l = "."
)
0 0 9 9
1 1 10 10
2 2 11 11
#########
#........#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#.#######.#
#........#
#########
1 1 3 3
2 2 4 4
##
#.#
##
1 1 9 9
2 2 8 8
3 3 7 7
########
#......#
#.####.#
#.####.#
#.####.#
#.####.#
#......#
########
메모
- 선행 공백과 줄 바꿈 (최소 좌표가 아닌 경우 발생
0, 0
)이 있어야합니다. - 후행 공백과 줄 바꿈은 합리적으로 허용됩니다 (즉, 100000000 줄 바꿈처럼 트레일하지 마십시오.
- x 축과 y 축은 어느 쪽이든 향할 수 있지만 일관되고 일관성이 있어야합니다 (기본값은 x와 오른쪽).
- 좌표는 0, 1 또는 2 색인이 될 수 있습니다.
이것은 code-golf 이므로 목표는 가장 짧은 코드를 갖는 것입니다. 행복한 골프!