Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
[Вернуться к задаче]   1 2
  1  Хабибуллозода Наджибулло Сайфуллоевич, 09 ноября 2025 г. 10:00:58
     Зачем вы посылайте решение? Могли бы сказать свой алгоритм догадливые поняли о чем речь. Не знаю почему задачу имеет тему математическое моделирование ведь можно сказать что это дп и математика и логика Удачи всем :)))
  2  Карбовский Демид Сергеевич, 22 января 2025 г. 21:35:17
     держите #include <iostream> using namespace std; int main() { long long k, n, s, s0, s1 = 0, s2 = 0, x; cin >> k >> n; s0 = k; for (int i = 0; i < n; i++) { s = s0 + s1 + s2; if (s % 5 == 0) { x = (s / 5) * 9; } else if (s % 5 == 1) { if (s == 1) { x = 0; } else { x = (((s - 5) / 5) * 9) + 10; } } else if (s % 5 == 2) { if (s == 2) { x = 0; } else if (s == 7) { x = 10; } else { x = (((s - 10) / 5) * 9) + 20; } } else if (s % 5 == 3) { x = ((s / 5) * 9) + 5; } else if (s % 5 == 4) { if (s == 4) { x = 5; } else { x = (((s - 5) / 5) * 9) + 15; } } s2 = s1; s1 = s0; s0 = x; } cout <<s <<endl; return 0; }
  3  Якушевич Тимофей Евгеньевич, 18 января 2025 г. 10:23:53
     #include <iostream> using namespace std; int main() { long long k, n, s, s0, s1 = 0, s2 = 0, x; // Начальное количество роботов, количество лет cin >> k >> n; s0 = k; for(int i = 0; i<n; i++) { s = s0 + s1 + s2; // общее количество роботов switch (s % 5) { case 0: { x = (s / 5) * 9; break; } case 1: { if (s == 1) x = 0; else x = (((s - 5) / 5) * 9) + 10; break; } case 2: { if (s == 2) x = 0; else { if (s == 7) x = 10; else x = (((s - 10) / 5) * 9) + 20; } break; } case 3: { x = ((s / 5) * 9) + 5; break; } case 4: { if (s == 4) x = 5; else x = (((s - 5) / 5) * 9) + 15; break; } } s2 = s1; s1 = s0; s0 = x; } cout << s; return 0; }
  4  Карбовский Демид Сергеевич, 18 января 2025 г. 10:20:19
     #include <iostream> using namespace std; int main() { long long k, n, s, s0, s1 = 0, s2 = 0, x; // Начальное количество роботов, количество лет cin >> k >> n; s0 = k; for(int i = 0; i<n; i++) { s = s0 + s1 + s2; // общее количество роботов switch (s % 5) { case 0: { x = (s / 5) * 9; break; } case 1: { if (s == 1) x = 0; else x = (((s - 5) / 5) * 9) + 10; break; } case 2: { if (s == 2) x = 0; else { if (s == 7) x = 10; else x = (((s - 10) / 5) * 9) + 20; } break; } case 3: { x = ((s / 5) * 9) + 5; break; } case 4: { if (s == 4) x = 5; else x = (((s - 5) / 5) * 9) + 15; break; } } s2 = s1; s1 = s0; s0 = x; } cout << s; return 0; }
  5  Эрадж Байзоев, 22 октября 2024 г. 22:44:51
     Точнее 57 роботов разделяем в группы по 3 = 19, умножаем на 5 новых роботов = 95. Разве не так?
  6  Эрадж Байзоев, 22 октября 2024 г. 22:23:04
     !!! В начале 4го года имеем 57 роботов: 5 2-х летних роботов, 14 возраста 1 год и 38 возраста 0 лет, которые в течении 4-го года собирают 9*9+4*5=101 робот. --> Согласно задаче роботы заново перегруппируются в начале каждого года. Имея 57 роботов в начале года, можно разбить их на 9 групп по 3, итого будет произведено 9*5=45 новых роботов.
  7  Эрадж Байзоев, 22 октября 2024 г. 21:20:23
     # Вот истинные значения того, что у вас неверно: #3 5 = 153 #3 6 = 414 #3 7 = 1120 #3 8 = 3035 Не могли бы объяснить более детально, как у Вас появляется результат? Хотя бы покажите количество разбитых групп по 3 и 5 роботов в каждой строке результата. Вот что имею я: ======================= K = 3 and N = 8 ---------- Year: 2 Total robots: Start: 3 = (3 * 1 + 5 * 0) Produced: 5 = (5 * 1 + 9 * 0) End: 8 = (3 + 5 - 0) ---------- Year: 3 Total robots: Start: 8 = (3 * 1 + 5 * 1) Produced: 14 = (5 * 1 + 9 * 1) End: 22 = (8 + 14 - 0) ---------- Year: 4 Total robots: Start: 22 = (3 * 4 + 5 * 2) Produced: 38 = (5 * 4 + 9 * 2) Dead: 3 (from poulation of year 1) End: 57 = (22 + 38 - 3) ---------- Year: 5 Total robots: Start: 57 = (3 * 15 + 5 * 3) Produced: 102 = (5 * 15 + 9 * 3) Dead: 8 (from poulation of year 2) End: 151 = (57 + 102 - 8) ---------- Year: 6 Total robots: Start: 151 = (3 * 49 + 5 * 3) Produced: 272 = (5 * 49 + 9 * 3) Dead: 22 (from poulation of year
  8  Мефодьева Юлия Борисовна, 23 июня 2024 г. 22:36:34
     проверяйте вариант, когда роботов не хватает для производства
  9  Тургын Йахйа, 23 января 2024 г. 14:06:13
     4 пункт "Роботы живут три года" Если робот выпустился в первом году он испортится в 3 или 2?
  10  Денисов Николай Васильевич, 21 июня 2021 г. 9:39:38
     Неполный перебор помог )
  11  Зинов Вадим, 09 мая 2018 г. 8:27:53
     А почему не кролики? =_=
  12  Димаш Азимов, 04 марта 2018 г. 10:53:51
     перепутал n и k ,и сидел пол часа
  13  Юсупов Темиржан Нурланович, 03 июня 2016 г. 11:13:42
     Самое главное - найти оптимальное деление на группы по 3 и 5.
К примеру, 22 робота можно использовать полноценно, разделив на 2 группы по 5 и 4 группы по 3(10+12=22).
А теперь подумайте, как это можно сделать, удачи!
  14  Цыбин Александр Николаевич, 24 марта 2012 г. 7:28:22
     Пример из моей программы (у меня AC):
11 7
Ответ : 4442.
По годам :
11
30
84
223
605
1640
4442
  15  Ситдиков Рузаль Раилевич, 20 июня 2010 г. 12:29:08
     Можно узнать ответы на такие тесты?
1)4 3 - ответ 28?
2)7 2 - ответ 18?
     1) 24 2) 17
  16  Эхсонов Файзали, 18 декабря 2009 г. 20:40:03
     Если даёш 10 и 10 ответ должн 143702 или нет
     нет, будет 82308
  17  Астровский Александр Сергеевич, 05 ноября 2009 г. 18:34:23
     да и ещё почему в тесте 3 5 ответ будет 153 а не 150
     Вот история: в начале 1го года было 3 робота возраста 0 лет, которые в течении года собрали 5 роботов. В начале 2го года 8 роботов: 3 робота возраста 1 год и 5 роботов возраста 0 лет, которые в течении 2го года собирают 5+9=14 роботов. В начале 3го года имеем 22 робота: 3 роботов возрасат 2х лет, 5 роботов возраста 1 лет и 14 роботов возраста 0 лет, которые в течении года собирают 2*9+4*5=38 роботов. В начале 4го года имеем 57 роботов: 5 2х летних роботов, 14 возраста 1 год и 38 возраста 0 лет, которые в течении 4го года собирают 9*9+4*5=101 робот. В начале 5го года получается как раз 153 робота: 14 2х летних, 38 годовалых и 101 новорожденных.
  18  Астровский Александр Сергеевич, 05 ноября 2009 г. 16:17:27
     скажите а задача Лиса Алиса и кот будет подзадачей этой или нет.
     кстати, да. но это не самая сложная часть в этой задаче.
  19  Fr()m Tajikistan!!!, 02 мая 2009 г. 19:29:16
     Шипелов Роман Борисович, я так думаю что при k=4, 3 робота будут работать и один будет ждать ещё год!!!
  20  Шипелов Роман Борисович, 17 марта 2009 г. 7:34:03
     но такие тесты значит возможны...
     возможны любые удовлетворяющие условию задачи и ограничениям во входных данных
 1 2

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru