Тема: Пошук циклу в транспортній задачі
Хай. От дивіться, є матриця, в деяких клітинках стоять числа, а в деяких ні. Задається початкова клітинка, котра не має містити число. І після цього необхідно віднайти такий шлях по клітинках, вершинами котрого (тобто кутами) будуть клітинки, котрі містять числа.
От приклад
От я думаю, як це запрограмувати...
Була ідея - отримуємо індекси початкової точки.
1) Зміщаємося на клітинку вверх і перевіряємо ряд умов:
2) Якщо клітинка не містить числа, то рухаємось в тому ж напрямку.
3) Якщо ми вийшли за межі матриці або поточна клітинка пройдена - повертаємося в початкову клітинку і змінюємо напрям руху, на правий, наприклад (а потім на нижній та на лівий, ну типу по годинниковій стрілці рухаємось починаючи зверху)
4) Якщо клітинка містить число, то запам'ятовуємо клітинку як початкову, заносимо її в масив, і переходимо до пункту 1. (також помічаємо цю клітинку як пройдену, тому що не можна два рази проходити по одній і тій самій клітинці)
5) Якщо ми повернулись в клітинку "start", то в масиві має бути шлях циклу.
Як вам?