![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Задан некий прямоугольник (квадрат - частный случай) со сторонами n и m. Левая верхняя точка имеет координаты х=0, у=0. Нижняя правая точка прямоугольника имеет координаты х=n, y=m. Требуется заполнить прямоугольник точками в строгой последовательности, начиная от точки х=0,у=0 к точкам x=n, y=m. Последовательность такая:
например, для прямоугольника со сторонами n=7, m=4 (8x5=40 точек): 01. x=0 y=0 02. x=1 y=0 03. x=0 y=1 04. x=2 y=0 05. x=1 y=1 06. x=0 y=2 07. x=3 y=0 08. x=2 y=1 09. x=1 y=2 10. x=0 y=3 11. x=4 y=0 12. x=3 y=1 13. x=2 y=2 14. x=1 y=3 15. x=0 y=4 16. x=5 y=0 17. x=4 y=1 18. x=3 y=2 19. x=2 y=3 20. x=1 y=4 21. x=6 y=0 22. x=5 y=1 23. x=4 y=2 24. x=3 y=3 25. x=2 y=4 26. x=7 y=0 27. x=6 y=1 28. x=5 y=2 29. x=4 y=3 30. x=3 y=4 31. x=7 y=1 32. x=6 y=2 33. x=5 y=3 34. x=4 y=4 35. x=7 y=2 36. x=6 y=3 37. x=5 y=4 38. x=7 y=3 39. x=6 y=4 40. x=7 y=4 Требуется разработать алгоритм оптимизации кода, чтобы он имел как можно меньше строк. В данном примере приведен примитивный случай, когда стороны прямоугольника имеют небольшие значения. Значения на самом деле могут быть очень большими, например, n=3000, m=2000. Ширина прямоугольника может быть меньше высоты. Максимальный размер прямоугольника 32767х32748 пикселей. |