… 멕시코가 지불 할 것입니다!


26

도널드 트럼프는이 사이트의 사람들의 작업에 깊은 감명을 받았습니다. 그는 벤 카슨을 도와주는 일이 얼마나 놀라운 지 보았 기 때문에 당신을 고용 하여 성벽세우기도했습니다 . 그는 당신이 대단하다고 생각합니다. 이제 그는 다시 당신의 도움이 필요합니다. 그가 성벽을 성공적으로 짓는 동안 멕시코 정부는 그것을 지불해야합니다. 그는 1 마일에 1 백만 달러를 청구하고 싶으며 미국-멕시코 국경은 1,989 마일 길이 라고 말했다 . 그러나 그들은이 숫자가 정확하다는 것을 확신하지 못하기 때문에 규모에 맞게 시각적으로 표현하기를 원합니다. 당신이 들어온 곳입니다.이지도를 가져와야합니다. 여기에 이미지 설명을 입력하십시오

모든에 대해 N 국경 (50 <= N <= 500) 떨어져 그 시점에서 테두리의 경사에 수직 25 화소 길이의 선을 그린다. 지도의 오른쪽에있는 눈금을 사용하여 100 마일 ~ 50 픽셀로 결정했습니다 . n = 60에 대해 처음 3 줄의 샘플을 그렸습니다.

여기에 이미지 설명을 입력하십시오

노트:

  • 유일한 입력은 n 입니다. 출력은 선이 추가되고 화면에 그려 지거나 래스터 이미지 파일에 저장된 맵 이미지 여야합니다 (원래 맵 파일을 덮어 쓸 수 있음).
  • 빈 파일을 원하는 파일 이름으로 저장할 수 있습니다. JPEG이지만 원하는 경우 다른 일반적인 래스터 형식으로 변환 할 수 있습니다. 또한 크기를 비례 적으로 유지하고 선의 크기가 조정되는 한 이미지 크기를 최대 50 %까지 줄일 수 있습니다.
  • 각 선은 해당 지점의 경계 경사에 수직이어야합니다. 경사는 지점 전 50 마일에서 시작하고 지점 후 50 마일에서 끝나야합니다.

정확성:

  • 각 선의 기울기는 ± 5 °의 오차 한계를 가질 수 있습니다
  • 각 선 사이의 간격은 ± 20 마일 (일반 맵에서 10 픽셀)의 오차 한계를 가질 수 있습니다.

3
"벽"이 시간당 2.50 달러를 벌고있는 근로자가 설치 한 3 개의 가시 철사를 의미하지 않는 한, 가격 $ 10000 / 마일은 아마도 100 배나 줄어 듭니다.
Glenn Randers-Pehrson

1
또한 Mma는 미국-멕시코 국경의 길이는 약 1952 마일이라고 말합니다.
LegionMammal978

18
알아두면 좋지만 중요한 것은이 숫자 중 어느 것도이 도전에 대한 의미가 아닙니다.
geokavel

@geokavel 계속해서 대답하십시오.
programmer5000

1
또한, 선을 그리기 전에 이미지를 처리하고 테두리를 식별 할 수 있거나이 이미지를 실제로 처리하지 않고 선을 그릴 수있는 것 (본질적으로 이미지의 모양을 가정하는 것)이이 문제의 의도입니다. )?
notjagan

답변:


7

파이썬 2 + numpy + OpenCV , 576 바이트

데모 GIF

from cv2 import*
from numpy import*
n=input()/4
f="m.png"
i=imread(f)
b=array([0]*3)
y=array([165,195,225])
j=inRange(i,b,b+120)
k=inRange(i,y,y+25)
for x,y in zip(*where(j)):j[x,y]=k[x+3,y]-j[x+1,y]>1
j=j[506:732,152:557]
p=[array([11,9])]
for c in sorted(zip(*where(j)),key=lambda c:c[1]):r=range(p[-1][1]+1,c[1]+1);p+=map(array,zip(map(int,interp(r,*zip(p[-1],c)[::-1])),r))
for x,c in enumerate(p[25:-25:n]):s=-1/true_divide(*p[x*n+50]-p[x*n+25]);k=6/(1+s**2)**.5;line(i,*map(tuple,[(c+[int(k*s)+506,int(k)+152])[::-1],(c-[int(k*s)-506,int(k)-152])[::-1],b]))
imwrite(f,i)

이 프로그램은 거의 전적으로 골퍼되지 않으며 현재 다소 부정확 한 측면이 있지만 적어도 대부분은 작동합니다. 또한,이 작은 하드 코딩의 비트,하지만 경계를 둘러싸는 대략 윈도우 만의와 국경의 첫 번째 픽셀 (후자의 실제로 가장 가능성이 나중에 제거)의 좌표입니다.

프로그램에서 사용하는 이미지는 영역 (예 : 1120 x 865)에서 절반으로 줄이므로 선의 길이와 선 사이의 거리가 더 짧습니다.


2
시원한!! 답을 볼 수있어서 좋습니다!
geokavel

작동하지 않는 tio 링크를 삭제하는 것이 좋습니다
Евгений Новиков

1
gif 데모 i.stack.imgur.com/RWQu4.gif . 내 수정 사항 적용
Евгений Новиков

@ ЕвгенийНовиков GIF를 주셔서 감사합니다! 내가 이전에 찍은 사진보다 훨씬 더 설명적이고 간결합니다.
notjagan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.