Сайт підготовки до олімпіади з інформатики

програмування в С++

5. Готуємось до олімпіади з інформатики PDF Печать E-mail
Добавил(а) Administrator   
28.01.15 09:19

http://ejudge.ippo.dn.ua/cgi-bin/new-register?contest_id=59

8-9 класи

1. Сторінки. Сторінки в книгах як правило нумеруються натуральними числами 1, 2, 3, ... так що одна сторона Першого аркуша має номер 1, зворотна сторона того ж листа - номер 2. Сторінки іншого листа пронумеровані числами 3 і 4 відповідно, и т.д. Ваше Завдання - за заданими двома сторінками визначити  чи належать одному і  тому ж аркушу бо різнім.

У єдиному рядку задаються два натуральних числа а і b, що НЕ перевищують 109.

Виведіть "Yes", якщо Сторінки а i b розташовані на одному Аркуші, і "No",якщо на різних.

введення

виведення

5 6

Yes

31 13

2. Гра. Вітя і Льоня грають в гру. Спочатку кожен записує на аркуші паперу число від 1 до 6 - прогноз, а потім вони кидають гральну кістку, грані якої пронумеровані числами від 1 до 6. Результат гри визначається тим наскільки близько випало на кістки число до того, яке записано гравцем на аркуші . Чий прогноз виявиться ближче до результату кидка, той і вважається переможцем. Потрібно написати програму для виявлення переможця.

У єдиному рядку задаються три числа - прогноз Віті, прогноз Пені та результат кидка кістки. Всі числа цілі і знаходяться в діапазоні від 1 до 6.

Виведіть "W", якщо перемогу слід присудити Віті, або "L", якщо переможцем є Льоня, або ж "D", якщо результат гри нічийний (тобто обидва прогнози виявилися однаково близькі до результату кидка).

   

введення

виведення

3

4

5

L

1

6

2

W

4

4

3

D

З. Наперстки. Гра в наперстки проходить наступним чином. у ведучого є три однакових непрозорих наперстка, які він вибудовує в ряд і під один з них ховає маленький кульку. Після цього ведучий швидко змінює наперстки місцями, а в кінці гравцеві пропонується вгадати, під яким із наперстків знаходиться кулька. Гравець бачив, куди спочатку клав кулька ведучий, і пам'ятає всі його дії. Тепер він просить допомогти вас допомогти дати йому відповідь - де знаходиться кулька.

У першому рядку задаються два цілих числа s і N (1 ≤ s <3, 0 <N <100), які позначають відповідно початкову позицію в ряду наперстка, під який був покладений кулька ведучим, і кількість обмінів, які він зробив. У кожному з наступних N рядків задаються по два цілих

числа а і b (1 ≤ а, b ≤ 3, а ≠ b) - номери позицій, наперстки з яких ведучий міняв місцями на відповідному кроці.

Виведіть одне число - позицію наперстка, який повинен вибрати гравець, щоб виграти.

введення

виведення

13

3

12

 

13

 

32

 

4. Арифметичний коник. На довгій лінійці сидить коник. Спочатку коник знаходиться на позначці х. Після цього він робить стрибок і потрапляє на позначку у. Далі він продовжує стрибати в ту ж сторону, все його стрибки мають одну і ту ж довжину. Потрібно визначити, чи зможе він потрапити на позначку z.

У єдиному рядку задаються три цілих числа х, у, z (-109 <х, у, z <109).

Виведіть "Yes", якщо коник побуває в якийсь момент на позначці z, і "No" в іншому випадку.

введення

виведення

1 2 5

Yes

136

5. Дружні брати. Є три брата, відомо скільки у кожного з них цукерок. Два брата посваряться, якщо число цукерок у них відрізняється більш, ніж на К. Вони можуть дарувати один одному цукерки. Потрібно визначити мінімальне число цукерок, яке вони повинні подарувати один одному, щоб не посваритися.

  У єдиному рядку задається чотири невід'ємних цілих числа а1, а2, а3, К, що не перевищують 109, де а - кількість цукерок, яке спочатку було у г-го брата.

Виведіть одне число - мінімальну кількість цукерок, яке брати повинні подарувати один одному, щоб ніхто не посварився. Якщо це неможливо, виведіть одне число -1.

       

введення

 

виведення

1

6

3

2

 

2

 


10-11 класи

1. Приготування яєць. Петя любить їсти варені яйця. Для того, щоб приготувати яйце некруто потрібно варити його Х хвилин. Щоб приготувати яйце круто, потрібно спочатку приготувати його некруто, а потім варити ще Y хвилин. Петя любить їсти яйце, коли воно наполовину приготовлено круто, тобто коли яйце спочатку приготовлено некруто, а потім ще пройшла половина часу, необхідного для того, щоб це яйце стало приготованим круто. Знайдіть скільки хвилин Петі потрібно варити яйце.

У єдиному рядку задаються два цілих числа Х і У (1 ≤ Х, У <1018).

Виведіть одне число - час у хвилинах, необхідне для приготування наполовину крутого яйця.

 

введення

 

виведення

10 11

 

15.5

 

2. Годинник. Є свідчення N годин. Відомо, що До з них показують неправильний час, показання інших - вірні. Потрібно написати програму для визначення точного часу.

У першому рядку задається два цілих числа N і К (0 <К GNG 1000). У кожному з наступних N рядків задаються по два числа - кількість годин (від 0 до 23) і хвилин (від 0 до 59), які показують відповідні години.

Виведіть два числа, що визначають правильний час у годинах і хвилинах. Якщо неможливе можна однозначно визначити точний час, виведіть одне число -1.

введення

виведення

53

1320

13 20

 

20 13

 

9 00

 

13 20

 

13 21

 

З. Транспортна задача. У країні Інформландія є всього два види міського транспорту: метро і автобус. Грошова одиниця в Інформландіі - природно, біт. Одна поїздка на метро коштує 3 біта, а на автобусі - 2 біти. При цьому можна купити місячний проїзний на необмежену кількість поїздок: на метро - 40 бітів, на автобус - 30 бітів, на автобус і метро - 60 бітів. Яку найменшу суму потрібно витратити на проїзд у місяць жителю Інформландіі, якщо в тому місяці належить зробити х поїздок на метро і у на автобусі.

У єдиному рядку задаються два цілих числа х і у (0 <х, у <100).

Виведіть найменшу суму в бітах, яка буде потрібно жителю на проїзд.

 

введення

 

виведення

930

 

57

 

4. Морозиво. Є N морозив. Дитина з'їдає будь морозиво за 1 хвилину. Для кожного морозива відомо, через скільки хвилин воно розтане. Потрібно визначити мінімальну кількість дітей, які можуть з'їсти ці всі ці морозива так, щоб ні одне з них не встигло розтанути. Кожну хвилину одна дитина може їсти лише одне морозиво, і кожне морозиво може їсти лише одна дитина.

У першому рядку задано ціле число N (1 ≤N ≤ 105). Другий рядок містить N натуральних чисел, що не перевищують 106, кожне з яких визначає час, через який розтане відповідне морозиво.

Виведіть одне число - мінімальну кількість дітей, які зможуть з'їсти все морожені, не допустивши їх танення.

     

введення

виведення

4

     

2

1

2

3

2

 

5. Ліфт. У будівлі з N поверхами поставили новий ліфт, який необхідно перевірити ліфтерові. За посадової інструкції перевірка працездатності ліфта полягає в тому, щоб зробити принаймні по одному разу поїздки між кожною парою різних поверхів (при цьому поїздки від одного поверху до іншого і у зворотний бік вважаються різними). Спочатку ліфт знаходиться на першому поверсі. Далі ліфтер послідовно натискає кнопки на панелі ліфта, переміщаючи ліфт на відповідні кнопкам поверхи. Працівник хоче впоратися з перевіркою якомога швидше, тому просить вас написати програму для знаходження послідовності натискань на кнопки мінімальної довжини.

У єдиному рядку задано ціле число N (1≤N≤1000).

Виведіть послідовність натискань для повної перевірки працездатності ліфта мінімальної довжини. Якщо існує декілька послідовностей, що задовольняють умові, виведіть будь-яку з них.

 

введення

       

виведення

3

 

3

2

3

1

2 1

 

Зауваження. При виконанні наведеної в прикладі послідовності натискань ліфт здійснить такі поїздки: {(1 - + 3), (3 - + 2), (2 - + 3), (3 - + 1), (1 - + 2), (2 - + 1)}, що є достатнім для перевірки, оскільки містить в собі всі можливі поїздки.

 

Статистика

Пользователей : 261
Статей : 225
Просмотрено статей : 108170

Вход/Регистрация

Нет