합리적인 입력 형식으로 다음 입력을받는 프로그램이나 함수를 작성하십시오.
생성 할 이미지의 너비와 높이를 정의하는 두 개의 양의 정수 W와 H.
이미지를 색칠하는 데 사용되는 두 가지 RGB 색상 C1 및 C2.
이미지 평면에서
(r, x, y)
반지름r
과 중심이x, y
있는 원을 정의 하는 양식의 3 튜플 목록입니다 .r
양의 정수이고x
그리고y
어떤 정수입니다. 이미지의 왼쪽 위 픽셀은0, 0
x 축이 오른쪽으로 증가하고 y 축이 아래쪽으로 증가합니다.
C1과 C2로 채색 된 치수가 W x H 인 이미지를 출력하여 모든 겹치는 원으로 정의 된 두 개의 인접 영역이 동일한 색상이되도록합니다.
예를 들어 : 입력이
W = 300 H = 200 C1 = (255, 200, 0) C2 = (128, 0, 255) Circles = (25, 50, 80), (40, 80, 120), (300, -100, 6), (17, 253, 162)
원 경계는 다음과 같습니다.
원으로 만든 이미지에는 6 개의 뚜렷하고 연속적인 영역이 있습니다. 각 영역에는 C1 (노란색) 또는 C2 (보라색)로 색상을 지정하여 인접한 두 영역이 같은 색이되지 않아야합니다.
이 작업을 수행하는 두 가지 방법이 있습니다. 유일한 차이점은 색상이 바뀌는 것입니다.
따라서이 두 이미지 중 하나는 예제 입력에 대해 유효한 출력입니다.
두 개의 노란색 영역이 서로 인접하기 때문에 이와 같은 것은 잘못된 출력입니다.
출력 이미지는 다음 지침을 따라야합니다.
C1 및 C2 외에, 검은 색 또는 흰색과 같은 제 3의 중성 색은 두께가 5 픽셀 이하인 한 원 경계에 사용될 수 있습니다. 위의 예에는 검은 색, 1 픽셀 두께의 경계가 있습니다.
그러나 원 경계는 필요하지 않습니다. 지역은 서로 직접 인접 할 수 있습니다.
이 두 가지 모두 위의 예에 대한 다른 유효한 출력입니다.
원 그리기 알고리즘 또는 그래픽 라이브러리가 제공하는 모든 것을 사용하여 원은 가능한 한 정확해야 합니다.
일반적으로 픽셀 성능은 필요하지 않지만 입력 매개 변수의 크기가 동일하게 커지면 결과 이미지가 더욱 정확 해집니다.
앤티 앨리어싱은 허용되지만 필수는 아닙니다.
백그라운드의 눈금 선 또는 축 레이블 등은 허용되지 않습니다.
바이트 단위의 가장 짧은 코드가 이깁니다.
더 많은 예
모두 서로 다른 원 세트로 이러한 입력을 사용합니다.
W = 100
H = 60
C1 = (255, 0, 0)
C2 = (0, 0, 255)
어떤 예에서나 색상은 서로 바뀔 수 있으며 유효합니다.
Circles =
A. empty list
B. (13, 16, 20)
C. (30, 16, 20)
D. (200, 16, 20)
E. (42, 50, 20)
F. (42, 50, 20), (17, 40, 30)
G. (42, 50, 20), (17, 20, 30)
H. (42, 50, 20), (17, 10, 30), (10, 50, 30)
I. (42, 50, 20), (17, 10, 30), (35, 50, 20)
J. (18, 36, 40), (18, 63, 40), (18, 50, 20)
K. (100, -10, -20), (60, 50, -10)
L. (18, 36, 40), (18, 63, 40), (18, 50, 20), (14, 50, 20), (5, 50, 18), (20, 0, 0), (70, 22, 0), (10000, -9970, 0), (135, 100, -80)
A.
B.
C.
D.
E.
F.
G.
H.
I.
J.
K.
L.
출력이이 모든 예제와 유사하게 작동하는지 확인하십시오.
tikz