첫 줄의 형식이 문자열 또는 텍스트 파일 인 프로그램 작성
width height
각각의 다음 줄은
x y intensity red green blue
어디:
width
그리고height
어떤 양의 정수가 될 수 있습니다.x
그리고y
어떤 정수 할 수있다.intensity
음수가 아닌 정수일 수 있습니다.red
,green
및blue
0에서 255까지의 정수일 수 있습니다.
프로그램은 크기가 by 인 일반적인 무손실 이미지 파일 형식으로 트루 컬러 이미지를 출력해야합니다 . 마다width
height
x y intensity red green blue
선은 이미지에 그려야하는 화려한 별 또는 구를 나타냅니다. 0을 포함하여 여러 개의 별을 그릴 수 있습니다. 문자열이나 파일에 줄 바꿈 문자가 있다고 가정 할 수 있습니다.
이미지를 그리는 알고리즘은 다음과 같지만 결과가 동일하다면 원하는 방식으로 이미지를 구현할 수 있습니다.
이미지의 모든 픽셀 ( X , Y )에 대해 (여기서 X 는 가장 왼쪽 가장자리에 0 , 가장 오른쪽 가장자리에 폭 -1 , Y 는 위쪽 가장자리에 0 , 아래쪽 가장자리에 높이 -1 ) C ϵ { red , green , blue } (0에서 255 사이에 고정 된 값)는 다음 방정식으로 제공됩니다.
어디 DIST의 기능 중 하나입니다 유클리드 거리 :
또는 맨해튼 거리 :
골프 또는 미학에 따라 원하는 거리 기능을 선택하십시오.
첫 번째 입력 외에 입력의 각 행은 별표 세트 의 요소입니다 . 따라서, 예를 들면 S의 X는 나타내는
x
입력 라인들 중 하나에 대한 값을, S 및 C는 하나 나타내고red
,green
또는blue
,에 따라 색상 채널은 계산되고있다.
예
예 A
입력이
400 150
-10 30 100 255 128 0
출력은
유클리드 거리를 사용하는 경우
맨해튼 거리를 사용하는 경우
실시 예 B
입력이
200 200
100 100 10 255 255 255
20 20 40 255 0 0
180 20 40 255 255 0
180 180 40 0 255 0
20 180 40 0 0 255
유클리드와 맨해튼 거리에 대한 각 출력은
그리고 .
실시 예 C
입력이
400 400
123 231 10 206 119 85
358 316 27 170 47 99
95 317 3 202 42 78
251 269 17 142 150 153
43 120 3 145 75 61
109 376 6 230 231 52
331 78 21 31 81 126
150 330 21 8 142 23
69 155 11 142 251 199
218 335 7 183 248 241
204 237 13 112 253 34
342 89 18 140 11 123
출력은
유클리드 거리를 사용하는 경우
맨해튼 거리를 사용하는 경우
실시 예 D
입력이
400 400
123 231 5 206 119 85
358 316 5 170 47 99
95 317 5 202 42 78
251 269 5 142 150 153
43 120 5 145 75 61
109 376 5 230 231 52
331 78 5 31 81 126
150 330 5 8 142 23
69 155 5 142 251 199
218 335 5 183 248 241
204 237 5 112 253 34
342 89 5 140 11 123
출력은
유클리드 거리를 사용하는 경우
맨해튼 거리를 사용하는 경우
실시 예 E
입력이
100 1
그런 다음 출력은 100 픽셀 x 1 픽셀의 이미지로 완전히 검은 색이어야합니다.
노트
- stdin 또는 명령 행에서 입력 문자열 또는이를 포함하는 텍스트 파일의 이름을 가져 오거나 문자열을받는 함수를 작성할 수 있습니다.
- "출력"이미지는 다음 중 하나를 의미합니다.
- 선택한 이름으로 파일에 저장합니다.
- 원시 이미지 파일 데이터를 stdout에 인쇄
- 예와 같이, 화상 표시, PIL '들
image.show()
.
- 귀하의 이미지가 완벽한 픽셀인지 확인하지는 않지만 (스택 교환은 이미지를 손실없이 압축합니다) 시각적으로 차이점을 알 수 있다면 의심됩니다.
- 그래픽 / 이미지 라이브러리를 사용할 수 있습니다.
승리
바이트 단위의 최단 제출이 이깁니다. 관계가있는 경우 가장 빠른 제출이 이깁니다.
재미있는 보너스 : 정말 멋진 출력 이미지를 위해 입력하십시오.