Готуємось до олімпіади 2015-1 Печать
Добавил(а) Administrator   
15.01.16 21:06

Готуємось до олімпіади 2015-1
1. Одна чверть
Дві точки на площині, що не лежать на координатних осях, задані своїми координатами: А(Х1, Y1) і B(X2, Y2). Перевірити, чи лежать ці точки в одній координатній чверті.
2. Кількість днів між датами (http://www.e-olymp.com/uk/problems/147)
Дано дві календарні дати. Визначити кількість днів між цими датами. Не забудьте, що високосним вважається рік, номер якого кратний чотирьом та не кратний 100, або кратний 400.
В першому і другому рядку вхідного файлу записано по одній календарній даті у форматі D M Y ( день місяць рік). 1 ≤ D ≤ 31, 1 ≤ M ≤ 12,1 ≤ Y ≤ 2100. У вихідний файл потрібно записати одне число – кількість днів між датами
Наприклад,
1 12 2008 31 12 2008 31
3. Чотиризначні числа
Знайти всі чотиризначні числа, кожне з яких записано різними цифрами і має наступні властивості: якщо цифри шуканого числа деяким чином переставити місцями і одержане таким способом нове чотиризначне число відняти від шуканого, то різницею буде чотиризначне число, записане тими ж цифрами. Вказати кількість таких чисел.
4. Заміна нулів
Дано лінійну таблицю заданої довжини N, яка містить велику кількість нульових елементів. Скласти на алгоритмічній мові алгоритм, що заміняє кожну групу нулів, що йдуть підряд на:
а) один нульовий елемент, якщо число таких нулів не парне;
б) два нульових елементи, якщо число таких нулів парне.
5. Зафарбовані відрізки
На прямій зафарбували N відрізків. Відомі L(і), R(і) – ліві і праві кінці відрізків. Знайти суму довжин усіх зафарбованих частин прямої.
6. Заповнення по діагоналях
Скласти алгоритм заповнення двомірної таблиці A[1:n,1:n] по діагоналях з північного сходу на південний захід числами 1, 2, ..., n2, починаючи з північно–західного кута таблиці.
7. Визначення сторінок (В.О.Бардадим, В.В.Бондаренко)
При друкуванні великих документів може виникнути потреба друкувати не весь документ, а тільки деякі його сторінки. Серед аргументів програми друку є рядок з послідовністю номерів сторінок. Потрібно надрукувати не окремі сторінки, а діапазони сторінок і, можливо, вказувати початок і кінець діапазонів, а не послідовні числа.
Завдання: Напишіть програму, яка буде перетворювати списки сторінок у відповідну послідовність номерів сторінок.
Вхідні дані: Вхідний файл PRІNT.DAT містить один рядок, який має таку структуру: сторінка–1, сторінка–2, сторінка-3, ..., сторінка – N.
Сторінка – і – або номер сторінки, або діапазон у вигляді початок–кінець (початок <= кінець).
Сторінки та діапазони перераховані в зростаючому порядку і не перетинаються. Діапазон включає початкову та кінцеву сторінки. Номери сторінок – числа від 1 до 1000000. 1 <= N <= 1000000.
Вихідні дані: Результат треба вивести до файлу PRІNT.SOL у вигляді сторінка-1, сторінка-2, сторінка-3,..., сторінка – М без пропусків.
Технічні вимоги: Ваша програма повинна мати назву PRІNT.*, де розширення залежить від мови програмування.
Приклад:
PRІNT.DAT
1,4-5,7-7,10-20
PRІNT.SOL
1,4,5,7,10,11,12,13,14,15,16,17,18,19,20
8. Мікроорганізми (М.З.Грузман)
Для обробки фотознімків мікроорганізмів, виконаних під мікроскопом, кожну фотографію розділено на дрібні клітинки. В кожній клітинці, яка повністю накрита одним з мікроорганізмів, або в якій міститься частина мікроорганізму, зроблено позначку.
Вважається, що дві клітинки з позначками належать одному й тому ж мікроорганізмові, якщо з однієї з них можна потрапити в іншу, рухаючись по клітинках з позначкою ліворуч, праворуч, вгору або вниз.
Дано: прямокутне фото розміром m x n клітинок, частину яких позначено.
Отримати: кількість організмів на фотознімку.

* * *
* * * * * * * *
* *
* * *
* * *
* * * * * * *
Технічні вимоги: Введення розмірів m та n на фотознімку здійснюється з клавіатури за запитом програми. Саме фото у закодованому вигляді міститься у файлі PHOTO.DAT. Кожному рядку клітинок відповідає запис у файлі. Позначеній клітинці відповідає символ "*", а непозначеній – "0" (нуль).
Приклад. Фотознімок 6 х 10 має вигляд, зображений на рисунку. На цьому знімкові 4 мікроорганізми.


9. Дужки
Проаналізувати заданий текст з метою виявлення помилок у використанні дужок. Можливі три типи помилок:
а) невідповідність дужок ( і ) по кількості;
б) закриваюча дужка розміщена раніше відкриваючої;
в) відсутній зміст між дужками.
Результатом роботи програми повинно бути повідомлення про типи допущених помилок та їх місце в тексті (якщо це можливо).
10. Греко–латинський квадрат

1 2 3 4
4 3 2 1
2 1 4 3
3 4 1 2
Греко–латинським квадратом називається квадрат N x N, в кожному рядку, в кожному стовпці і в кожній діагоналі якого містяться всі цілі числа від 1 до N. Приклад такого квадрата 4 х 4.
Написати програму, яка:
будує хоча б один квадрат порядку N;
будує всі квадрати порядку N;
будує всі квадрати порядку N так, що не можна отримати один з іншого при допомозі поворотів і обертань навколо осей симетрії.