Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Задача в неделю. Олимпиадные задачи по информатике Разбор E-го занятия


Служба Рассылок Subscribe.Ru

Телекоммуникационный проект "Задача в неделю"

Разбор задачи № E

Эта задача решается с конечного разложения в обратном порядке (при этом перекладывать надо сверху вниз). Пусть есть колода с требуемым в условии задачи разложением карт. Легко заметить, что перекладывание части колоды из k карт равнозначно k перекладываниям по одной карте. Поэтому надо вычислить общее количество перекладываемых карт, а после этого легко выписать и искомое разложение в явном виде.

var
  n, k : integer;
  p : longint;
begin
  assign(input,'input.txt'); reset(input);
  read(n); p:=0;
  for k:=2 to n do
    p:=p+round(1.0*n/k);
  while p>=n do p:=p-n;
  assign(output,'output.txt'); rewrite(output);
  for k:=p downto 1 do write(k,' ');
  for k:=n downto p+2 do write(k,' ');
  write(p+1)
end.

Результаты тестирования, тесты, тестирующую систему вы можете получить, написав на один из указанных ниже адресов электронной почты (Тема письма - TESTE). Также все это можно посмотреть на сайте Красноярского регионального центра Федерации Интернет образования.


Ведущий проекта, кандидат педагогических наук,

доцент Александр Владимирович Алексеев,

e-mail : alexeev@cross-edu.ru, olimp@krs.fio.ru, zvn@au.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное