O
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), ровно одного пробела и номера соответствующей страницы.
Если страница должна быть оставлена пустой, то в соответствующей строке должны быть напечатаны прочерки (символ минус "-") как вместо буквы, обозначающей язык решений, так и вместо номера страницы (см. примеры).
Если листа с таким номером в книге не будет вообще, в обеих строках должны идти описания, соответствующие пустой странице.
Задача 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), ровно одного пробела и номера соответствующей страницы.
Если страница должна быть оставлена пустой, то в соответствующей строке должны быть напечатаны прочерки (символ минус "-") как вместо буквы, обозначающей язык решений, так и вместо номера страницы (см. примеры).
Если листа с таким номером в книге не будет вообще, в обеих строках должны идти описания, соответствующие пустой странице.