Орієнтовні завдання
ІІ (районного) етапу 2003 року

1. Булева функція, 78 балів
Створіть програму bool.*, яка встановить істинність виразу.

Єдиний рядок вхідного файлу bool.dat містить вираз з прогалинами, утворений з великих літер латиниці (позначень булевих змінних) за допомогою (перераховано у порядку виконання дій):

Вважаємо, що булева змінна, що позначається j-ою літерою латиниці: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, справджується тоді й лише тоді, коли j — парне натуральне число.

Єдиний символ вихідного файлу bool.res — результат встановлення істинності виразу: число 1 або 0 відповідно для істинного або хибного виразу відповідно.

Приклади

bool.datbool.res
B => C0
C => B1

2. Замощення прямокутника, 48 балів
Створіть програму cover.* , яка обчислить, скількома способами прямокутник розміру 2×n можна замостити, однаковими прямокутниками розміру 2×1. Потрібно покрити прямокутник без виходу за його межі і без спільних внутрішніх точок прямокутників покриття.

Єдиний рядок вхідного файлу cover.dat містить, починаючи з першої позиції, натуральне число n, яке менше за 999.

Єдиний рядок вихідного файлу cover.res має містити, починаючи з першої позиції, шукану кількість способів замощення.

Приклади

cover.datcover.res
11
22

Геометрія Рімана-1, 44 бали
На сферичній поверхні Землі розташовано різні точки A1, A2, A3, A4, причому перші три точки не належать одній площині, що проходить через центр Землі. Криволінійний трикутник A1A2A3 на поверхні Землі утворено меншими дугами кіл з центром у центрі Землі.

Вхідний файл riman1.dat містить (у вказаному порядку) цілі числа — координати точок A1, A2, A3, A4: ґрадус, мінута й секунда широти, ґрадус, мінута й секунда довготи. Якщо точка знаходиться у південній (західній) півкулі, то всі відповідні координати широти (довготи) вказано із знаком «–».

Створіть програму riman1.*, яка у файл riman1.res запише слово in чи out, якщо точка A4 розташована відповідно всередині чи зовні трикутника A1A2A3. Випадок розташування точки A4 на стороні криволінійного трикутника A1A2A3 не розглядати.

Приклад

riman1.datriman1.res
0 0 0 0 0 0 8 8 8 0 0 0 0 0 0 8 8 8 4 4 4 4 4 4 in

Математична довідка: a = b × c, тобто a називають векторним добуток неколінеарних векторів b i c, якщо:

Для векторів a(a1; a2; a3), b(b1; b2; b3) і c(c1; c2; c3) мішаний добуток a ∙ (b × c) — скалярний добуток векторів a і b × c — дорівнює такій сумі:

a1b2c3 + a2b3c1 + a3b1c2a3b2c1a1b3c2a2b1c3.