ЗАВДАННЯ СТУДЕНТСЬКОЇ ОЛІМПІАДИ З ІНФОРМАТИКИ

2003 рiк

НПУ імені М.П Драгоманова

ЗАВДАННЯ 1 (15 балів)

Задано таблицю натуральних чисел розмірності NxM (2 £ N £ 20, 2 £ M £ 20). Клітини, які знаходяться на перетині непарних рядків з непарними стовпцями (основні клітини) містять натуральні числа, інші клітини порожні. Заповнити порожні клітини таблиці натуральними числами таким чином, щоб число основної клітини і сума трьох чисел клітин, що оточують основну клітину у формі прямого кута, були рівні.

Вимоги до програми:

·        вхідні дані потрібно прочитати з текстового файла data.txt; кожний рядок якого містить натуральні числа, розділені пропуском, – числа основних клітин рядка таблиці;

·        дані заповненої таблиці зберети в текстовому файлі result.txt: кожний рядок файла містить числа, розділені пропуском, – числа клітин рядка таблиці.

Тест (В таблиці основні клітини для зручності зафарбовані):

Вхідні дані

(файл data.txt)

Таблиця із вхідними даними в сновних клітинах

 

Таблиця після заповнення порожніх клітин

Результат

( файл result.txt )

6 10 12 8

7 11 13 9

10 14 16 12

12 16 18 14

6

 

10

 

12

 

8

6

3

10

1

12

3

8

6 3 10 1 12 3 8

1 2 5 4 7 2 3

7 4 11 2 13 4 9

2 1 6 3 8 1 4

10 7 14 5 16 7 12

0 3 4 5 6 3 2

12 9 16 7 18 9 14

 

 

 

 

 

 

 

1

2

5

4

7

2

3

7

 

11

 

13

 

9

7

4

11

2

13

4

9

 

 

 

 

 

 

 

2

1

6

3

8

1

4

10

 

14

 

16

 

12

10

7

14

5

16

7

12

 

 

 

 

 

 

 

0

3

4

5

6

3

2

12

 

16

 

18

 

14

12

9

16

7

18

9

14

 

ЗАВДАННЯ 2 (20 балів)

Задано деякий набір слів і таблицю розмірності NxM (2 £ N £ 20, 2 £ M £ 20 ), яка містить українські літери. Необхідно відшукати у таблиці слова із заданого набору, тобто вказати місце розміщення кожного символа слова в таблиці. Слово з літер таблиці можна отримати за такимим правилами:

·     дві послідовні літери слова повинні бути розміщені в клітинах, які мають одну спільну сторону;

·     літера однієї клітини може бути використана тільки для одного слова і лише один раз.

Вимоги до програми:

·        вхідні дані потрібно прочитати з текстових файлів words.txt та table.txt;

·        у файлі words.txt зберігаються слова деякого набору за таким форматом – кожний рядок містить слово;

·        у файлі table.txt зберігається таблиця українських літер за таким форматом – кожний рядок містить символи одного рядка таблиці;

·        результати зберегти у текстовому файлі search.txt за таким форматом:

          кожний рядок повинен містити послідовність пар індексів літер відповідного слова з файлу words.txt;

          пари індексів беруться в круглі дужки і відокремлюються пропуском;

          індекси пари відокремлюються символом ’кома’.

Тест:

Вхідні дані

Файл table.txt

Таблиця українських літер

Вхідні дані

Файл words.txt

 

Крараяот

Якноморп

Ннигпкеа

Нокаіксл

Арівдику

Цобітнад

Іональне

Цьтсінтп

 

1

2

3

4

5

6

7

8

 

Книга

Підвіконня

Робітник

Тор

Ескулап

Національність

Педант

1

к

р

а

р

а

я

о

т

2

я

к

н

о

м

о

а

п

3

н

н

и

г

п

к

е

а

4

н

о

к

а

і

к

с

л

5

а

р

і

в

д

и

к

у

6

ц

о

б

і

т

н

а

д

7

і

о

н

а

л

ь

н

е

8

ц

ь

т

с

і

н

т

п

 

Результат (файл search.txt )

(2,2) (2,3) (3,3) (3,4) (4,4)

(3,5) (4,5) (5,5) (5,4) (5,3) (4,3) (4,2) (3,2) (3,1) (2,1)

(5,2) (6,2) (6,3) (6,4) (6,5) (6,6) (5,6) (4,6)

(1,8) (1,7) (2,7)

(3,7) (4,7) (5,7) (5,8) (4,8) (3,8) (2,8)

(4,1) (5,1) (6,1) (7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (8,6) (8,5) (8,4) (8,3) (8,2)

(8,8) (7,8) (6,8) (6,7) (7,7) (8,7)

 

ЗАВДАННЯ 3 (25 балів)

 

Зобразити на екрані монітора геометричну фігуру, що має форму сніжинки і будується за наступним принципом:

·        з центра екрану під однаковими кутами виходять п’ять відрізків довжиною 150 пікселів кожний – це відрізки першого рівня;

·        з кінця кожного відрізка першого рівня також виходить по п’ять відрізків під однаковими кутами – відрізки другого рівня, і т. д.;

·        довжина відрізка (n+1)-шого рівня втричі менша за довжину відрізка n-того рівня.

Відобразити на екрані відрізки до п’ятого рівня вкладеності включно. Відрізки кожного рівня зафарбувати одним кольором, а різних рівнів – різними кольорами.