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

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

Школа олімпійського резерву з інформатики
Зареєструйся і запропонуй задачу!!! PDF Печать E-mail
Добавил(а) Administrator   
28.05.10 15:47

Літо...

Багато вільного часу...

Розв'язуємо цікаві задачі...

Пропонуйте запитання, завдання...

Будем вирішувати і працювати разом...

 
Формула Піка PDF Печать E-mail
Добавил(а) Administrator   
14.12.11 09:51

Для вирішення завдання на визначення кількості цілих точок треба використовувати формулу Піка, яка записується так: x = s - n div 2 + 1, де s - площа багатокутника, n - кількість цілочисельних точок на його сторонах.
 
Тобто нам необхідно знати площу багатокутника. Відома формула S = 1 / 2 * | (x1y2 - x2y1) + (x2y3 - x3y2) + ... + (xny1 - x1yn) |.

            Слід підрахувати кількість цілочисельних точок на сторонах багатокутника. Для цього треба порахувати довжину проекцій кожної сторони на координатні осі. Кількість точок на стороні - НСД довжин цих проекцій. НСД за алгоритмом Евкліда визначається так: на кожному кроці замінюємо найбільше з двох чисел на залишок ділення цього числа на менше, до тих пір, поки одна з чисел не стане рівним нулю. Число, що залишилося і є найбільший спільний дільник цих чисел. При підрахунку кількості точок слід також не забути порахувати відрізок, що з'єднує останню і першу точки багатокутника.
 Тепер ми вирахували все необхідне і залишилося тільки скористатися формулою, яка наведена на початку розбору: x = s - n div 2 + 1.

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

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

З метою підготовки до олімпіади прохання ознайомитись  з Рекомендаціями щодо проведення III-го етапу Всеукраїнської учнівської олімпіади з інформатики у 2011-2012 навчальному році та системою на сайті http://olymp.sumdu.edu.ua  - Веб-ресурс підтримки та проведення шкільних та студентських олімпіад з інформатики.

Також розв'язуйте та тестуйте завдання на сайті www.e-olimp.com.ua.
 
Готуємось до олімпіади з інформатики - 1 PDF Печать E-mail
Добавил(а) Administrator   
11.01.12 13:30

Готуємось до олімпіади з інформатики - 1

Задача 1. Сума (3 бали)

У стандартному вхідному потоці дано чотири дійсні числа.

У стандартний вихідний потік вивести їх суму із чотирма знаками після коми.

Приклади

Вхідні дані

Результат роботи

3 4 2.5 1

10.5000

Задача 2. Дільники (30 балів)

Дано натуральне число N. Знайти число від 1 до N з максимальною сумою дільників.

Формат вхідних даних. Стандартний вхідний потік містить N (N ≤ 10000).

Формат вихідних даних. У стандартний вихідний потік вивести шукане число. Якщо таких чисел декілька, то вивести будь-яке.

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

Вхід

Вихід

5

4

Задача 3. Спільний відрізок (30 балів)

Дано N відрізків прямої. Знайти довжину відрізка, що є спільним для всіх.

Формат вхідних даних. У першому рядку вхідного потоку міститься число N (1 ≤ N ≤ 100). У наступних N рядках задаються координати лівого та правого кінців відрізка. Координати - цілі числа від 0 до 30000. Лівий кінець відрізка завжди має координату меншу за праву.

Формат вихідних даних. У вихідний потік виведіть шукану довжину відрізка. Якщо такого відрізка не існує, то вивести 0.

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

Вхід

Вихід

3

1 10

3 15

2 6

3

3

1 10

2 20

11 20

0

Задача 4. Переможець (27 балів)

Інтернет-олімпіада з інформатики набуває все більшої популярності. Вже не рідкість участь в одному турі олімпіади кількох команд від однієї школи. Зрозуміло, що вони змагаються не тільки з іншими командами, але і між собою. До того ж перемога у «шкільному» змаганні часто більш важлива, ніж місце на олімпіаді.

Від однієї школи міста N-ська в усіх одинадцяти базових Інтернет-олімпіадах цього сезону брали участь дві команди. Тепер вони хочуть з'ясувати, хто з них переміг у загальному заліку.

Для кожної команди відомо, яке місце вона зайняла у кожній Інтернет-олімпіаді. Загальний залік у цій школі ведеться за такими правилами:

- За кожну Інтернет-олімпіаду команда, яка зайняла більш високе місце, отримує більше очок, чим команда, яка зайняла нижче місце.

- Передбачено, що команди не можуть зайняти однакові місця.

Ваше завдання - написати програму, яка за результатами цих команд в 11 Інтернет-олімпіадах визначатиме, хто з них переміг у загальному заліку цієї школи. 

Формат вхідних даних: перший рядок вхідного потоку містить 11 цілих числа: a1, a2,..., a11 - місця, які зайняла перша команда згаданої школи у першій, другій, ..., одинадцятій Інтернет-олімпіадах.

Другий рядок містить місця b1, b2,..., b11, зайняті другою командою, в аналогічному форматі.

Всі числа цілі, додатні і не більші за 100. Для всіх i = 1...11 вірна нерівність ai ≠ bi.

Формат вихідних даних: у вихідний потік виведіть слово First, якщо у загальному заліку виграла перша команда, або слово Second, якщо перемогла друга команда.

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

Вхід

Вихід

1 2 3 4 5 6 7 8 9 10 11

2 3 4 5 6 7 8 9 10 11 12

First

2 2 1 1 2 2 1 1 2 2 1

1 1 2 2 1 1 2 2 1 1 2

Second

Попередження: Розв'язок учасника олімпіади, що виводить лише один з варіантів відповіді на всі тести буде дискваліфікований.

Задача 5. Точки (60 балів)

Недавно Петрик навчився малювати відрізки. Тепер його зацікавила кількість точок з цілими координатами, що належать даному відрізку.

Допоможіть йому!

Формат вхідних даних: вхідний потік містить чотири цілих числа x1, y1 i x2, y2 - координати кінців відрізка.

Координати задаються в межах від -1 000 000 000 до 1 000 000 000.

Формат вихідних даних: вихідний потік  має містити одне число - кількість точок.

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

Вхід

Вихід

0 0 2 0

3

 

 

 
Готуємось до олімпіади 3 PDF Печать E-mail
Добавил(а) Гісь Ігор Володимирович   
30.10.12 21:14

Завдання олімпіади з інформатики

Максимальна кількість балів – 100. 5 завдання по 20 балів кожне.

Вхідні дані допускається читати як з клавіатури (консолі), так і з файлу input.txt, вихідні данні необхідно виводить на екран (в консоль), або в файл output.txt.

Задача 1. «Дільники» (20 балів)

Вводяться два числа  N і K. Виведіть кількість чисел з діапазону від 1 до N таких, щоб їх сума цифр ділиться на K.

input.txt

input.txt

100 3

22 4

output.txt

output.txt

33

5

Задача 2. «Трикутники» (20 балів)

На площині дано N точок. Ніякі дві точки не співпадають. Знайдіть трикутник з вершинами в цих точках, що має найменший можливий периметр.

Введення

Спочатку вводиться число N - кількість точок (3 ≤ N ≤ 50), а потім N пар дійсних чисел, які задають координати точок.

Виведення

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

input.txt

output.txt

5
0 0
1.3 0
-2 0.1
1 0
10 10

1 2 4

Задача 3. «Драбинка» (20 балів)

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

Описание: http://127.0.0.1/ru/figureimageru?pid=108Підрахувати число драбинок, котре можна побудувати з  N кубиків.
Введення
На вході записано число N (1 ≤ N ≤ 100).

Виведення
Вивести шукане число драбинок.

input.txt

3

output.txt

2

Задача 4. «Віруси» (20 балів)

На полі розміром N * N розташоване M вірусів. За кожен хід вірус заражає 4 сусідні з ним клітини. Положення вірусів задано координатами на полі. Потрібно написати програму, що визначає, за яке найменшу кількість ходів буде заражене все поле.

Введення

У першому рядку записано два числа N (1 ≤ N ≤ 100) та M (1 ≤ M ≤ 10). Кожний з наступних M рядків містить по два числа - координати вірусу на полі. Всі числа цілі, координати за величиною не перевершують розмірів поля. Ліва нижня клітинка поля має координати (1, 1).

Виведення

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

input.txt

input.txt

2 1
2 1

58 4
46 22
20 26
38 30
23 37

output.txt

output.txt

2

48

Задача 5. «Гра» (20 балів)

Легендарний вчитель математики Юрій Петрович придумав забавну гру з числами. А саме, взявши довільне ціле число, він переводить його в двійкову систему числення, отримуючи деяку послідовність з нулів і одиниць, що починається з одиниці. (Наприклад, десяткове число 1910 = 1*24+0*23+0*22+1*21+1*20 в двійковій системі запишеться як 100112.) Потім учитель починає зсув цифр отриманого двійкового числа по циклу (так, що остання цифра стає першою, а всі інші зсуваються на одну позицію вправо), виписуючи утворюються при цьому послідовності з нулів і одиниць у стовпчик - він помітив, що незалежно від вибору початкового числа виходять послідовності починають з деякого моменту повторюватися. І, нарешті, Юрій Петрович відшукує максимальне з виписаних чисел і переводить його назад в десяткову систему числення, вважаючи це число результатом пророблених маніпуляцій. Так, для числа 19 список послідовностей буде таким:

10011

11001

11100

01110

00111

10011

...

і результатом гри, отже, опиниться число 1*24+1*23+1*22+0*21+0*20 = 28. Оскільки придумана гра з числами все більше займає уяву вчителя, відволікаючи тим самим його від роботи з дуже обдарованими школярами, Вас просять написати програму, яка б допомогла Юрію Петровичу отримувати результат гри без утомливих ручних обчислень.

Введення

Введення містить одне ціле число N (0 ≤ N ≤ 32767).

Виведення

Ваша програма повинна вивести одне ціле число, рівне результату гри.

input.txt

output.txt

19

28

 


Страница 1 из 43

Статистика

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

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

Нет