Завдання першого туру - 2012 PDF Друк e-mail
Написав Гісь Ігор Володимирович   
Неділя, 11 листопада 2012, 22:39

Перший тур - 2012


 

скачати файл завдання (*.doc)


Розв'язки задач відправляти з  12.11  по  18.11.2012 р.

Розв'язок задачі відправляти як вкладений текстовий файл з іменем завдання.

1. Шахова дошка (20 балів)

Ім'я вхідного файлу:  dboard.dat

Ім'я вихідного файлу: dboard.ans

Програма: dboard.*

Обмеження часу: 5с

Обмеження пам'яті: 100 мбайт

У кожній клітинці шашкової дошки довільного розміру в довільному порядку знаходяться шашки одного з кольорів: чорна, біла, червона, зелена.

Скласти програму DBoard, що підраховує кількість шашок кожного кольору і  що виводить результат якщо

-          дані шашки,  знаходяться у файлі DBOARD.DAT (Приклад 1, Приклад 2) записаних по рядках без пропусків у рядку і між рядками;

-          результат зберігається у файлі DBOARD.ANS (Приклад 1) у вигляді:

- дані про місце розташування червоних шашок (в інших місцях знак "-") ;

- порожній рядок;

- кількість чорних, білих, червоних і зелених шашок через прогалину;

-          якщо шашка якогось кольору відсутня на дошці то вивести у файл повідомлення BAD INPUT LIST (Приклад 2);

-          обидва файли розташовуються в поточному каталозі.

 

Приклад 0:

 

2

1

1

0

3

0

3

1

0

1

1

3

3

1

0

0

1

2

1

3

1

0

1

2

1

1

1

1

2

2

1

0

1

1

1

0

1

2

1

2

0

1

0

1

1

2

1

1

0

0

0

0

0

0

0

0

1

1

1

2

2

2

3

3

 

0 – колір і місце розташування ЧОРНОЇ шашки 

1 – колір і місце розташування БІЛОЇ шашки 

2 – колір і місце розташування ЧЕРВОНОЇ шашки 

3 – колір і місце розташування ЗЕЛЕНОЇ шашки  

 

Приклад 1:

Приклад 2

dboard.dat

21103031

01133100

12131012

11112210

11101212

01011211

00000000

11122233

dboard.ans

2-------

--------

-2-----2

----22--

-----2-2

-----2--

--------

---222-

 

18 28 11 7

dboard.dat

21113131

11133133

12131112

11112213

11121212

11111211

11113111

11122233

dboard.ans

BAD INPUT LIST

 

2. Льодовиковий період (100 балів)

Ім'я вхідного файлу:  iceage.dat

Ім'я вихідного файлу:iceage.ans

Програма: iceage.*

Обмеження часу: 2 с

Кому з вас не відомий знаменитий мультфільм режисерів Кріса Уейджа та Карлоса Сайдана «Льодовиковий період»? Говорять, що після «Льодовикового період-2» вийде «Льодовиковий період-3» і в перспективі почнуться роботи над створенням нового катастрофічного мультфільму «Глобальне потепління-1».

Ізюминку сюжету цього фільму становить момент, коли ненаситна білочка Скрет попала в Долину Жолудів. Крім величезних харчових запасів, Скрет вразила сама місцевість. Вся долина - це певна кількість горбів, що являють собою півсфери різних радіусів. Звісно, ці  симпатичні горбики рясніють від великої кількості жолудів. Все було б  для Скрет чудово, якби людина своєю техногенною діяльністю не спровокувала глобальне потепління. Чергова катастрофа застала білочку посередині цієї широкої долини. Долину почало швидко затоплювати і Скрет в  паніці стрибала з одного горбика на інший, шукаючи порятунку. Білка,  завдяки великим запасам жолудів мала достатньо енергії щоб стрибати на будь який горбик, що знаходився не дальше, ніж L метрів від горбика,  на якому знаходилася вона сама. Відстань між горбиками - це відстань між центрами півсфер незалежно від їх радіуса. За кожну хвилину вода піднімалася на висоту H метрів. Отже, висота видимої з води частини півсфери також зменшувалися на H метрів за кожну хвилину. Скрет бачила, що один за одним зникають під водою рятівні острівки землі. Для того щоб врятуватися, вона повинна швидко добратися найбільшого горбика(острівка. Допоможіть Скрет знайти рятівний шлях до найбільшого острівка, якщо вона за 1 хвилину може здійснити лише один стрибок. Білочка не може стрибати на острівець, що зрівнявся з поверхнею води, але завжди встигає покинути острівець, який має бути затоплений на протязі наступної хвилини.

Формат вхідних даних: У першому рядку вхідного файлу находяться три цілих числа N, L, H (2<=N<=100, 0<L<=1000, 0<=H<100). У наступних N рядках дано по три цілих числа Xi, Yi,  Ri ((10000<=Xi,Yi<=10000, H<Ri<=10000). Скрет у початковий момент часу знаходиться на першому острові. Нижні частини острівців можуть перекриватися, але ніякі два центри не співпадають.

Формат вихідних даних: У випадку наявності рятівного шляху до найбільшого острова у перший рядок вихідного файлу вивести найменшу кількість стрибків Скрет, а у другий рядок через пропуск вивести номери островів, на які вона повинна послідовно стрибати. Якщо є декілька найбільших островів - вивести шлях до острова з мінімальним номером. У випадку відсутності рятівного шляху у єдиний рядок  вихідного файлу вивести повідомлення «The life is fine» без лапок.

Приклад вхідних та вихідних даних:

Приклад 1:

Приклад 2

iceage.dat

6 4 1

1 1 1

0 3 2

3 5 1

6 6 4

4 0 2

6 2 3

iceage.ans

3

5 6 4

 

iceage.dat

2 10 10

0 0 5

10 10 20

iceage.ans

The life is fine

 

Останнє оновлення на Понеділок, 26 листопада 2012, 10:39