Совместное решение олимпиадных задач!

Тема в разделе "Общие вопросы по С и С++", создана пользователем opium, 12 янв 2008.

Статус темы:
Закрыта.
  1. opium

    opium Гость

    Предлагаю совместное решение олимпиадных задач! Пока выложу только одну, проги выкладывать здесь(написанные). Вот и сама прога!

    Задача B. Книга

    Имя входного файла: b.in
    Имя выходного файла: b.out
    Максимальное время работы на одном тесте: 1 секунда
    Максимальный объем используемой памяти: 64 мегабайта

    Оргкомитет Московской олимпиады по информатике решил издать книгу с решениями олимпиадных задач сразу на двух языках - на Паскале и на Си. При этом тексты решений на Паскале решили напечатать с одной стороны книги, а на Си - с другой стороны. Таким образом книгу стало можно читать как с начала, так и с конца, предварительно ее перевернув.

    Тексты решений на Паскале заняли N первых страниц, которые пронумеровали от 1 до N. А тексты на Си - M последних страниц, которые пронумеровали числами от 0 (последняя страница) до M-1.

    Книга состоит из отдельных листов. У листа две стороны, на каждой из которых печатается одна страница книги. При необходимости, между текстом на Паскале и текстом на Си оставляется одна пустая страница. Листы строго по порядку сшиваются и образуют книгу.

    Например, если N=5 и M=3 страницы книги идут в следующем порядке. Сначала страницы решений на Паскале: 1 2 3 4 5, затем - страницы решений на Си - 2 1 0. Здесь на первый лист попадают страницы номер 1 и 2 решений на Паскале, на второй - 3 и 4, на третий - страница 5 решений на Паскале и страница 2 решений на Си, и, наконец, на четвертый лист - страницы 1 и 0 решений на Си (ровно в таком порядке!).

    Если же, например, N=2 и M=3, то на первом листе будут напечатаны страницы 1 и 2 решений на Паскале, на втором - пустая страница и страница 2 решений на Си, на третьем - страницы 1 и 0 решений на Си.

    Напишите программу, которая по номеру листа определяет, решения на каком языке и какие номера страниц должны быть напечатаны на этом листе.

    Формат входных данных

    Во входном файле содержатся три числа: N, M и номер листа P (1≤N≤1000, 1≤M≤1000, 1≤P≤1000).

    Формат выходных данных

    Выходной файл должен содержать две строки. В первой строке должно идти описание той стороны листа, которая будет идти в книге раньше, во второй строке - описание второй стороны листа.

    Описание страницы должно состоять из заглавной английской буквы P (если это страница решения на Паскале) или C (если это страница решения на C), ровно одного пробела и номера соответствующей страницы.

    Если страница должна быть оставлена пустой, то в соответствующей строке должны быть напечатаны прочерки (символ минус "-") как вместо буквы, обозначающей язык решений, так и вместо номера страницы (см. примеры).

    Если листа с таким номером в книге не будет вообще, в обеих строках должны идти описания, соответствующие пустой странице.
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Где прога? Вижу только задачу
     
  3. angel_of_rain

    angel_of_rain Гость

    Ой какое большое условие)
    Ладно задача вроде не очень сложная попробую сейчас сделать и выложить....
     
  4. phoenix133

    phoenix133 Гость

    "ЗЕЛЕНЫЙ ШУМ - 2007". ЗАОЧНЫЙ ТУР ФЕСТИВАЛЯ ИНТЕЛЛЕКТУАЛЬНЫХ ИГР
    ДОРОЖКА ДЛЯ РОБОТА

    С произвольной белой клетки диаграммы проложите дорожку, идущую через все белые клетки. Дорожка может пересекать себя, но не должна дважды проходить через белый квадрат ни горизонтально, ни вертикально. Поворачивать на 90 градусов дорожка может, только дойдя до края поля или до черного квадрата. Конец дорожки должен упереться в край поля или черный квадрат. Через начальную точку не могут проходить никакие дополнительные (пересекающиеся) линии (в примере начальная точка обозначена кружком).

    В ответе укажите координаты начальной и конечной точки и длину шага с поворотом от старта до финиша. Для приведенного примера ответ будет выглядеть так: старт 4/4, финиш 4/2, - 2R, 3L, 1L, 2L, 2L, 2R, 1R, 1.

    Оценка: 120 баллов.
    [​IMG]
    (так-же мне эта задача встретилась на РГР по Теории Алгоритмов)
    Решение:
    L-влево
    R-вправо
    U-вверх
    D-вниз
    (длинна пути указана без клетки в которой мы находимся)
    START(3,5):3L,5R,1L,1U,3R,2U,3L,1U,2R,3D,4R,7U,1R,3D,3L,2D,3R,1D,2L,5U,1L,1U,4L,
    1D,2R.(END(2,3))
    solved by phoenix133(тоесть мое личное) :(
    З.Ы пишу сюда, так-как олимпиада имела какое-то отношение к программированию (хоть и неявное)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей