HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#Тесты</a></p>
1 <p><a>#Тесты</a></p>
2 <ul><li>13 сен 2021</li>
2 <ul><li>13 сен 2021</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><h2>Задача про директора и график смен программистов</h2>
4 </ul><h2>Задача про директора и график смен программистов</h2>
5 <p>Логическая задача на метод исключения. Разбираемся с репетитором.</p>
5 <p>Логическая задача на метод исключения. Разбираемся с репетитором.</p>
6 <p>Roungroat/ Rawpixel / Annie для Skillbox</p>
6 <p>Roungroat/ Rawpixel / Annie для Skillbox</p>
7 <p>Автор статей о программировании. Изучает Python, разбирает сложные термины и объясняет их на пальцах новичкам. Если что-то непонятно - возможно, вы ещё не прочли его следующую публикацию.</p>
7 <p>Автор статей о программировании. Изучает Python, разбирает сложные термины и объясняет их на пальцах новичкам. Если что-то непонятно - возможно, вы ещё не прочли его следующую публикацию.</p>
8 <p>Преподаватель математики, автор YouTube-канала "Математика с Аней" и соавтор учебников и методических рекомендаций к учебникам по математике.</p>
8 <p>Преподаватель математики, автор YouTube-канала "Математика с Аней" и соавтор учебников и методических рекомендаций к учебникам по математике.</p>
9 <p>Анна готовит учеников к ЕГЭ в школе "<a>Топскул</a>" и консультирует онлайн-школы по вопросам эффективного обучения.</p>
9 <p>Анна готовит учеников к ЕГЭ в школе "<a>Топскул</a>" и консультирует онлайн-школы по вопросам эффективного обучения.</p>
10 <p>Директор IT-стартапа нанял пятерых программистов, которые поочерёдно обслуживают проект по графику 2/8 - два дня кодят и восемь отдыхают. Когда программисты не заняты в проекте, они работают по найму в других компаниях.</p>
10 <p>Директор IT-стартапа нанял пятерых программистов, которые поочерёдно обслуживают проект по графику 2/8 - два дня кодят и восемь отдыхают. Когда программисты не заняты в проекте, они работают по найму в других компаниях.</p>
11 <p>Из-за разногласий с заказчиком директор ненадолго приостановил проект, а когда всё утряслось, возобновил разработку. До дедлайна всего месяц, и, чтобы уложиться в срок, каждый день один человек должен присутствовать на работе. Перенести дедлайн нельзя, выпустить в один день двух и более работников - тоже. Программисты согласились продолжать сотрудничество с компанией, однако у них есть обязательства перед другими заказчиками и свободны не все дни.</p>
11 <p>Из-за разногласий с заказчиком директор ненадолго приостановил проект, а когда всё утряслось, возобновил разработку. До дедлайна всего месяц, и, чтобы уложиться в срок, каждый день один человек должен присутствовать на работе. Перенести дедлайн нельзя, выпустить в один день двух и более работников - тоже. Программисты согласились продолжать сотрудничество с компанией, однако у них есть обязательства перед другими заказчиками и свободны не все дни.</p>
12 <p>По просьбе директора каждый разработчик прислал даты, в которые он может выйти на смену:</p>
12 <p>По просьбе директора каждый разработчик прислал даты, в которые он может выйти на смену:</p>
13 <ul><li>Первый программист: 14-15-е.</li>
13 <ul><li>Первый программист: 14-15-е.</li>
14 <li>Второй программист: 10-11-е или 16-17-е.</li>
14 <li>Второй программист: 10-11-е или 16-17-е.</li>
15 <li>Третий программист: 12-13-е или 18-19-е.</li>
15 <li>Третий программист: 12-13-е или 18-19-е.</li>
16 <li>Четвёртый программист: 12-13-е или 16-17-е.</li>
16 <li>Четвёртый программист: 12-13-е или 16-17-е.</li>
17 <li>Пятый программист: 10-11-е или 14-15-е.</li>
17 <li>Пятый программист: 10-11-е или 14-15-е.</li>
18 </ul><p>Помогите директору построить график так, чтобы вовремя сдать проект.</p>
18 </ul><p>Помогите директору построить график так, чтобы вовремя сдать проект.</p>
19 <p>Метод исключения подходит для логических задач с большим количеством данных и простыми процессами - когда проще проверить несколько вариантов и исключить неправильные, чем искать алгоритм решения всей задачи. Для удобства все данные можно визуализировать в виде таблицы: представить исходные условия и последовательно отметить каждое изменение.</p>
19 <p>Метод исключения подходит для логических задач с большим количеством данных и простыми процессами - когда проще проверить несколько вариантов и исключить неправильные, чем искать алгоритм решения всей задачи. Для удобства все данные можно визуализировать в виде таблицы: представить исходные условия и последовательно отметить каждое изменение.</p>
20 <p>В нашем случае можно занести в общую таблицу графики всех программистов и подумать, какие временные промежутки оставить или убрать.</p>
20 <p>В нашем случае можно занести в общую таблицу графики всех программистов и подумать, какие временные промежутки оставить или убрать.</p>
21 <p><strong>Шаг №1.</strong>Перенесём данные из условия задачи в таблицу и отметим дни, в которые каждый из пяти программистов может выйти на работу. Дни удобно сбиваются в пары, поэтому таблицу можно упростить. Сделаем 5 столбцов вместо 10:</p>
21 <p><strong>Шаг №1.</strong>Перенесём данные из условия задачи в таблицу и отметим дни, в которые каждый из пяти программистов может выйти на работу. Дни удобно сбиваются в пары, поэтому таблицу можно упростить. Сделаем 5 столбцов вместо 10:</p>
22 <p><strong>Шаг №2.</strong>Начинаем постепенно перекрашивать ячейки в зелёный и красный цвета:</p>
22 <p><strong>Шаг №2.</strong>Начинаем постепенно перекрашивать ячейки в зелёный и красный цвета:</p>
23 <ul><li>Зелёным мы отметим дни, в которые программист выйдет на смену.</li>
23 <ul><li>Зелёным мы отметим дни, в которые программист выйдет на смену.</li>
24 <li>Красный будет отвечать за дни, которые мы исключим из рабочего графика.</li>
24 <li>Красный будет отвечать за дни, которые мы исключим из рабочего графика.</li>
25 </ul><p>Первый программист может отработать только с 14-го по 15-е число. Поскольку другой возможности поработать у первого программиста нет, отдаём смены 14-го и 15-го числа ему:</p>
25 </ul><p>Первый программист может отработать только с 14-го по 15-е число. Поскольку другой возможности поработать у первого программиста нет, отдаём смены 14-го и 15-го числа ему:</p>
26 <p><strong>Шаг №3.</strong>Переключаемся на пятого программиста, у которого после предыдущего исключения остался только один свободный промежуток - 10-е и 11-е число:</p>
26 <p><strong>Шаг №3.</strong>Переключаемся на пятого программиста, у которого после предыдущего исключения остался только один свободный промежуток - 10-е и 11-е число:</p>
27 <p><strong>Шаг №4.</strong>Теперь мы видим, что 18-го и 19-го числа у нас свободен только третий программист:</p>
27 <p><strong>Шаг №4.</strong>Теперь мы видим, что 18-го и 19-го числа у нас свободен только третий программист:</p>
28 <p><strong>Шаг №5.</strong>У второго программиста остался единственный слот 16-го и 17-го числа:</p>
28 <p><strong>Шаг №5.</strong>У второго программиста остался единственный слот 16-го и 17-го числа:</p>
29 <p><strong>Шаг №6.</strong>По остаточному принципу закрепляем за четвёртым программистом 12-е и 13-е число и заканчиваем формировать график:</p>
29 <p><strong>Шаг №6.</strong>По остаточному принципу закрепляем за четвёртым программистом 12-е и 13-е число и заканчиваем формировать график:</p>
30 <p>По новому графику программисты выйдут на смену в следующие даты: первый - 14-15-го; второй - 16-17-го; третий - 18-19-го; четвёртый - 12-13-го; пятый - 10-11-го.</p>
30 <p>По новому графику программисты выйдут на смену в следующие даты: первый - 14-15-го; второй - 16-17-го; третий - 18-19-го; четвёртый - 12-13-го; пятый - 10-11-го.</p>
31 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
31 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>