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

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

HotLog


 
[Вернуться к задаче]   1 2
  1  Неизвестный, 05 декабря 2022 г. 7:26:05
     #include <bits/stdc++.h> using namespace std; int main() { long long n,k,a[10000],sum=0,sum1=0,kol=0; cin>>n>>k; if(k==1) { cout<<n; return 0; } for(int i=0;i<n;i++) { a[i]=1; sum1+=i+1; } while(kol<n-1) { for(int i=0;i<n;i++) { sum+=a[i]; if(sum==k) { a[i]=0; sum=0; kol++; sum1-=i+1; } } } cout<<sum1; return 0; } //вот решение
  2  Неизвестный, 18 марта 2021 г. 12:06:26
     500 100 = 480
  3  Тарасов Егор Алексеевич, 23 марта 2016 г. 19:14:33
     Выводило все неправильные ответы, а у меня верно. Уж не знал, что делать. Потом осознал: забыл убрать отладочные выводы!
  4  Дубровский Александр Викторович, 14 января 2016 г. 17:58:47
     Забавно.Математически эту задачу никак не мог понять.Собственно, из за нее когда то решил вплотную позаниматься алгоритмами и нашел этот сайт.Программу же написал сходу, проходяющую тесты - спустя минут 5.Даже обидно как то.Хотя как она решается математически и сейчас не понимаю :D
  5  Капцов Александр Александрович, 10 апреля 2015 г. 3:30:54
     Для k = 2 есть элегантное решение перевести в N двоичную и сделать сдвиг влево.
100 -> 001
101 -> 011
1011 -> 0111

Но есть ли подобная закономерность для других k?
  6  Коршунов Игорь Евгеньевич, 28 января 2015 г. 15:58:09
     Иосиф Флавий нашел спасительные места для себя и своего единомышленника... Но при этом выжил только один... Как то подозрительно =)
  7  Кураченко Олег, 08 марта 2013 г. 23:41:17
     Могу дать маленький советик - удобно пользоватся строкой. И пусть вас не смущает то что она не 500, решение строкой проходит все тесты)))
  8  Андрей Герстнер, 08 марта 2013 г. 14:08:10
     Хочу уточнить, 0 же не входит в натуральные числа, так?
     0 не является натуральным числом.
  9  Захаров Константин Леонидович, 08 февраля 2013 г. 23:07:06
     Главное - не начать считать числа, в которых уже побывал, ну и не забыть, что если пишешь (i+k) mod n то может быть 0. Я так вообще по ленности написал маленькую функцию как в паскале inc(i), чтобы и 1 когда надо возвращала. Она следит, за какие там пределы индекс выходит, мне до него и дела нет, главное перебрать k не посещенных) А кто через список сделал - молодцы, тренировка)
  10  Дядьков Ярослав Сергеевич, 11 апреля 2012 г. 15:10:39
     Хорошая задача, хоть и простая. Правда, я немного косой алгоритм использую, из-за чего приходится отдельно рассматривать вариант, когда K = 1
  11  Белоусов Никита, 29 июля 2011 г. 15:55:03
     Раз 10 пытался сдать, все время прога зацикливалась на первом тесте. Я себе мозги на изнанку вывернул, пока не подставил, just for lulz, k = 1. Мораль: Можно сделать мир немного культурнее, если использовать в качестве первого теста значения из первого примера, твой кролик написал.
  12  Пряхин Станислав Аркадьевич, 06 июля 2011 г. 12:57:05
     Барботько, если человека исключили то его пропускают. Не знаю как ещё объяснить. Прокрути задачу на листочке.(я всегда так делаю =) )
  13  Барботько Илья Валерьевич 11, 16 июня 2011 г. 13:05:25
     Никак не могу понять, почему после 2ого умирает 7ой, а не 5ый =(
  14  Арсений Павлов, 04 июня 2011 г. 12:07:39
     Вообще, по идее в стандартной задаче Иосифа должны оставаться в живых двое.
  15  Клинов Данила Николаевич, 20 апреля 2011 г. 20:24:37
     Какая-то садистская задача. Особенно вариант N=1; K=1; Лично я это вообще не представляю))
     А чего тут непонятного? Здесь всего один человек, он же уцелевший, нужно выводить 1.
  16  Михнович Иван Вадимович, 08 декабря 2009 г. 16:49:24
     +1
Первая задача, которую решил составлением динамического списка :)
  17  Зубашев Степан, 30 ноября 2009 г. 18:11:49
     for fun реализовал на паскале через указатели ))) код заметно вырос, зато самое решение смешно )
  18  Рыжников Андрей Александрович, 29 сентября 2009 г. 15:05:16
     Почему не проходит 1ый тест?
     1й тест в системе отличается от теста примера, он такой: 2 1, ответ: 2, проверьте.
  19  Нагин Сергей Юрьевич, 21 сентября 2009 г. 20:07:35
     Прикольное тут решение за Н))) Причем легко запомнить формулу.... )))
  20  Гизатуллин Айдар Фаритович, 08 июня 2009 г. 20:56:09
     а что если Н=1,а К=1?
     Ответ: 1. Процесс протекает до тех пор, пока не останется 1 человек, так вот и получается что процесс сразу же прекращается, не успев начаться.
 1 2

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

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



live ставки на спорт