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

Олимпиадные задачи с решениями на Turbo Pascal


Информационный Канал Subscribe.Ru


Доброе время суток, уважаемые читатели!

Этот выпуск подготовили мы ? два Дмитрия, Илья, ну и один Александер.

Мы ? группа студентов ? программистов и готовы помочь вам в подготовке к решению олимпиадных задач. Каждый выпуск будем содержать немного теории по алгоритмам, разбор задач из предыдущего выпуска и, разумеется, тексты новых задач.

В первом выпуске разбор задач и теорию мы выпустим (пока не выбрали, что напишем). И для разминки дадим пару пробных задач. Ловите:

Задача ?1. Удвоение строк.

Последовательность строк формируется следующим образом:

S[1]=?a?;

S[2]=?aab?;

?

S[n]=S[n-1]+S[n-1]+letter[n], где letter[n] ? n-ная буква латинского алфавита.

Требуется найти i-й символ k-й строки.

Во входном файле input.txt содержится две строки: в первой ? N ? номер строки 1<=N<=26, во второй ? K ? номер искомого символа.

Выходной файл output.txt должен содержать искомый символ.

Пример:

input.txt

3

5

output.txt

a

Задача ?2. Строки Фибоначчи

Последовательность строк Фибоначчи определяется следующим образом: S[1]=?b?, S[2]=?a?, S[k] = S[k-1] + S[k-2] для k>2. Например, S[3]=?ab?, S[4]=?aba?, S[5]=?abaab? и т. д.

Даны натуральные числа N, М, L. Требуется вывести подстроку строки s[N], начинающуюся с позиции M и имеющую длину L.

Входной файл INPUT.TXT содержит одну строку, в которой находятся три разделённых пробелом натуральных числа N, M и L, где

1<=N<=40; 1<=M<=length(S[N]), 1<=L<=1000.

Выходной файл OUTPUT.TXT содержит подстроку строки S[N], начинающуюся с позиции M и имеющую длину L (длина выведенной подстроки может оказаться меньше, если длина оставшейся части строки S[N] , начинающейся с позиции M, меньше L).

Пример:

input.txt

5

3

10

output.txt

aab

Идея решения этих задач одинакова и, решив одну, вы без труда справитесь с другой. Свои решения вы можете отправлять на адрес olimp@math.pomorsu.ru. После того, как ваше решение будет проверено, вы получите ответ.

Если вы проявите активность, то в будущем мы создадим сайт с автоматизированной системой проверки ваших решений, архивом всех номеров и т. д.

Мы считаем необходимым познакомить вас (или напомнить, если вы уже их знаете) со многими классическими и современными алгоритмами, без знания которых иногда весьма непросто бывает решить поставленную задачу, особенно если эта задача олимпиадного уровня. Список основных разделов, которые мы будем рассматривать будет опубликован в следующем выпуске.

Начиная со следующего выпуска структура номера будет следующей: сначала будут разбираться задачи предыдущего номера, затем будет рассмотрен некоторый теоретический вопрос, который может представлять собой либо теоретический материал, предполагающий лишь усвоение, либо разбор какой-то задачи, либо (что чаще всего и будет) объяснение какого-либо алгоритма. После теории вам будет предложено несколько задач. Обычно задач будет две: одна на проверку пройденного материала, а другая либо будет затрагивать вопрос, рассматриваемый ранее, либо будет нметь произвольную тематику.

Если у вас есть какие-либо вопросы или предложения - пишите на olimp@math.pomorsu.ru и мы обязательно ответим вам.


Ищешь фильм? http://aslof.balzer.ru/
http://subscribe.ru/catalog/rest.cinema.filmforyou

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

В избранное