X комплексна Олiмпiада "Турнiр чемпiонiв" 

Завдання з iнформатики

        Задача СЛОВА (WORDS).         

Дано речення та словник, що мiстить N слiв. З цього речення вилучають деякi букви таким чином, щоб залишились тiльки слова зi словника. Слова, що залишаються в реченнi, можуть зустрiчатися кiлька разiв або не зустрiчатися зовсiм, однак не можуть накладатися одне на одне. Визначити, яку найбiльшу кiлькiсть слiв можна отримати таким чином.
        Напишiть програму WORDS, яка зчитує число - кiлькiсть слiв у словнику, потiм самi слова та речення з файлу WORDS.DAT та записує максимальну кiлькiсть слiв X у файл WORDS.SOL.
Обмеження:
1<= N <= 10. Слова та речення мiстять маленькi англiйськi букви. Їх довжина не перевищує 250 символiв.
Формат файлу WORDS.DAT:  Формат файлу WORDS.SOL: 
N
слово1
...
словоN
речення
Х





Приклад:
WORDS.DAT: WORDS.SOL:
3
fee
and
mathematics
setupfeewaivedandfreedomains
3





        Задача СУММА (SUM).
        

        Дана послiдовнiсть цiлих чисел X1,X2,...,XN. З цiєї послiдовностi можна вилучити деякi числа, але не всi. З послiдовностi, що отримана в результатi,Y1 , Y2,...,YN (1<= K<= N) утворюють суму S = Y1 - 2Y2 + 3Y3 - Y4 +  ,..., + (-1)k+1. Яку найбiльшу суму S можна отримати таким чином?
        Напишiть програму SUM, яка зчитує числа N, X1, X2,..., XN з файлу SUM.DAT та записує число S у файл SUM.SOL.
Обмеження:
1<N<=1000 ,-1000 <= Xj <= 1000 (j = 1,2,...,N)
Формат файлу SUM.DAT: Формат файлу SUM.SOL:
N
X1
X2
...
XN
.
S






Приклад:
SUM.DAT: SUM.SOL:
4
1
2
3
4
9




        Задача ТАБЛИЦЯ (TABLE).
        Дана дошка розмiром M x N клiтинок ( M - кiлькiсть горизонтальних лiнiй, N - кiлькiсть вертикальних лiнiй). Необхiдно провести фiгуру з нижнього лiвого у правий верхнiй кут за мiнiмальну кiлькiсть крокiв. За один крок фiгуру можна зсунути в одну з сусiднiх по горизонталi або вертикалi клiтинок або залишити на мiсцi. Прохiд мiж сусiднiми горизонталями та вертикалями може бути закритий. А саме:
          ·    якщо номер чергового кроку дiлиться нацiло на V1, то фiгура не може переходити з горизонталi за номером i на горизонталь за номером i+1або навпаки;
         ·    якщо номер чергового кроку дiлиться нацiло на H1, то фiгура не може переходити з вертикалi за номером j на вертикаль за номером j+1 та навпаки.   
Горизонталi та вертикалi починають вiдлiк вiд лiвого нижнього кута дошки.
Напишiть програму TABLE, яка зчитує числа M ,N ,H1 ,V1 з файлу TABLE.DAT та записує найменшу кiлькiсть крокiв K у файл TABLE.SOL. 
Обмеження:
1< M ,N <= 1000, 1<H1 ,V1 <= 10
Формат файлу TABLE.DAT Формат файлу TABLE.SOL
M  N
H1
...
HM-1
V
1
...
VN-1
 
 
 
 
 
 
 

Приклад:
TABLE.DAT TABLE.SOL
4 5
2
2
2
3
3
3
2
9








Пам'ятка учасника.
Розв'язки задач - файли з текстами програм, повиннi бути записанi на диск пiд iм'ям words.pas, sum.pas, path.pas (або *.c, або *.cpp). Програми повиннi читати з текстових файлiв з розширенням dat i записувати результати в файли с розширенням sol.
Програма не повиннi нiчого виводити на экран i не повиннi чекати вводу з клавiатури!
Розв'язки перевiряються автоматично на наборi тестiв. В текст програм змiни не вносяться i сам вiн не оцiнюється.

 
© Всеукраинский виртуальный центр олимпиад школьников "ОЛІМП"

© LIKT 1998-2018