|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.10.2022, 20:55 | #1 |
Новичок
Джуниор
Регистрация: 25.10.2022
Сообщений: 1
|
Динамическое программирование, задача про роботов
[динамическое программирование]
В Умном городе сортировкой стеклотары занимаются роботы. Их задача - разделить бутылки на темные и светлые. Сортировка происходит так: n бутылок стоят на конвейере, два робота одновременно захватывают бутылки с начала конвейере и сбрасывают их в контейнеры; после этого лента конвейера движется, и роботам доступны следующие бутылки. Один робот работает с темными бутылками, а другой - со светлыми. Каждый робот может взять не более k бутылок. Поэтому, если на конвейере стоят подряд более чем k бутылок одного цвета, одному из роботов нечего взять с конвейера. В Умном городе не любят, когда роботы простаивают, и самим роботам это тоже не нравится. Поэтому всех интересует вопрос: сколько существует вариантов расстановки n бутылок так, чтобы бутылок одного цвета, стоящих подряд, было не более чем k. Ответьте на этот вопрос. Пример. n=4, k=2. Есть 10 вариантов: TTCT TTCC TCTT TCTC TCCT CTTC CTCT CTCC CCTT CCTC Входные данные: В единственной строке входных данных заданы два целых числа n, k (1 <= n, k <= 10^6) (1 <= nk <= 10^6) Выходные данные: Единственное целое число — ответ на задачу. Так как ответ может быть очень большим числом, выведите его по модулю 10^9 + 7 Sample Input: 4 2 Sample Output: 10 Напишите код, пожалуйста |
26.10.2022, 06:31 | #2 |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
Пока приходит на ум вот такой простой код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамическое программирование. Задача о ресурсах. | delaimo | Общие вопросы Delphi | 15 | 04.06.2014 18:51 |
Задача на динамическое программирование | makskovalko | Помощь студентам | 2 | 29.01.2014 22:25 |
Динамическое программирование, Visual C#/C++, задача о рюкзаке | fanpilot | Помощь студентам | 0 | 21.12.2011 23:13 |
Задача на динамическое программирование) | Андрей1010 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 11.10.2011 13:56 |
Задача на динамическое программирование | Римма1990 | Помощь студентам | 2 | 02.04.2009 23:11 |