Donald Trump jest pod wrażeniem pracy ludzi na tej stronie. Zobaczył, jak niesamowitą pracę wykonałeś pomagając Benowi Carsonowi , więc nawet zatrudnił cię do budowy jego ściany . Myśli, że jesteś wspaniały. Teraz znów potrzebuje twojej pomocy. Choć udało mu się zbudować swój mur, teraz potrzebuje za to meksykańskiego rządu. Chce pobierać milion dolarów za milę i powiedział im, że granica USA-Meksyku ma długość 1989 mil . Jednak nie są do końca pewni, czy ta liczba jest dokładna, dlatego chcieliby również wizualną reprezentację w skali. Właśnie tam wchodzisz. Musisz wziąć tę mapę:
i dla każdego n (50 <= n <= 500) mil na granicy narysuj linię o długości 25 pikseli, prostopadłą do nachylenia granicy w tym punkcie. Używając skali po prawej stronie mapy, ustaliłem, że 100 mil ~ 50 pikseli . Narysowałem próbkę pierwszych 3 linii dla n = 60, ale są one tylko przybliżone:
Uwagi:
- Jedynym wejściem jest n . Wyjściem powinien być obraz mapy z dodanymi liniami, narysowany na ekranie lub zapisany w pliku obrazu rastrowego (można zastąpić oryginalny plik mapy).
- Możesz zapisać pusty plik mapy z dowolną nazwą pliku. Jest to JPEG, ale możesz go przekonwertować na inny popularny format rastrowy. Można także zmniejszyć rozmiar obrazu nawet o 50%, o ile wymiary są proporcjonalne, a linie nadal są skalowane.
- Każda linia powinna być prostopadła do nachylenia granicy w tym punkcie. Nachylenie należy obliczyć rozpoczynając 50 mil przed punktem i kończąc 50 mil po punkcie.
Precyzja:
- Nachylenie każdej linii może mieć margines błędu ± 5 °
- Odstępy między liniami mogą mieć margines błędu ± 20 mil (10 pikseli na zwykłej mapie).
źródło
Odpowiedzi:
Python 2 + numpy + OpenCV , 576 bajtów
Ten program jest prawie całkowicie pozbawiony golfa, a niektóre jego aspekty są w tej chwili nieco niedokładne, ale przynajmniej w większości działa. Dodatkowo jest trochę twardego kodowania, ale dotyczy to tylko przybliżonego okna otaczającego ramkę i współrzędną pierwszego piksela na ramce (tego ostatniego najprawdopodobniej usunę później).
Obraz używany przez program jest zmniejszony o połowę w obszarze (tj. 1120 x 865), a zatem długość narysowanych linii i odległość między liniami są mniejsze.
źródło