понедельник, 27 июня 2016 г.

Пятый день школы Юниор. Первый контест

Задачи для контеста проверяли насколько хорошо были поняты и усвоены участниками школы темы первых четырех занятий.

Сначала результаты



R
Участник
A
B
C
D
E
F
G
H
+
T
1
Холопов Никита
+
00:16
+
00:26
+
00:34
+
00:43
+
01:23
+
00:48
-1
00:55

 
6
250
2
Крючков Артур
+
01:17

 
+
00:29
+5
01:13

 

 

 

 
3
279
3
Доронин Алексей
+1
01:09

 
+3
00:56
+2
00:55

 
-1
01:27

 

 
3
300
4
Иванов Максим
+2
01:16

 
+2
00:38
-2
01:11

 

 
+7
01:27

 
3
421
5
Селезнёв Руслан
-3
00:27

 
+
00:55
+4
01:05

 

 

 
-1
01:05
2
200
6
Тропин Иван

 

 
+
00:21

 

 
-1
01:21

 

 
1
21
7
Соров Александр

 

 
+
00:42

 

 

 

 

 
1
42

Выводы. Вычисления с целыми числами - очень хорошо. Вычисления с действительными числами - хорошо. Добавляем к ним логику - заметно хуже. Задачи "на подумать" - плохо. Над чтением данных из потока еще работать и работать. После разбора и дорешивания стало немного лучше

R
Участник
A
B
C
D
E
F
G
H
+
T

1
Крючков Артур

 
-2
01:29

 

 
+
00:55

 
+2
00:08

 
2
103

2
Иванов Максим

 

 

 
+3
00:56
+1
00:49

 

 
-4
01:04
2
185

3
Холопов Никита

 

 

 

 

 

 
-1
00:31
+1
00:19
1
39

4
Доронин Алексей

 

 

 

 
+1
00:43

 

 

 
1
63

5
Селезнёв Руслан

 

 

 

 
+4
00:40
-7
00:56

 
-1
01:08
1
120

Тропин Иван

 

 

 
-1
00:20

 

 
-2
01:25

 
0
0

Попыток
0
2
0
5
10
7
6
7

Из них зачтено
0
0
0
1
4
0
1
1

Не зачтено
0
2
0
4
6
7
5
6

Разбор задач


Задача А. Ворота в школу.
Решение задачи очевидно, если увидеть, что створка ворот - прямоугольная трапеция. В задаче  w  – ширина одной створки ворот, h – наименьшая высота ворот и H – наибольшая высота ворот (в центре). Площадь двух одинаковых прямоугольных трапеций равна (h + H)*w.

Задача B. Верстка текста
Разделить m строчек текста на n столбцов так, чтобы длины столбцов отличались между собой не более, чем на одну строку. Например, 21 строка на 6 столбцов поделится так: три столбца по 3 строки и три столбца по 4 строки. Если 21 строку надо разделить на три столбца, то в каждом столбце будет семь строк.
Input: одна строка, содержащая два натуральных числа, записанных через пробел.
Output: одна или две строки по два числа в каждой через пробел. Первое число в строке – количество столбцов, второе число – количество строк в столбце. Строки вывода расположить в порядке увеличения числа строк в столбцах.
Example:

Input
Output
21 6
3 3
3 4
21 3
3 7
56 5
4 11
1 12
Решение задачи требует понимания результатов деления с остатком. Поделив m на n, узнаем, сколько строк гарантированно будет в каждом из n столбцов. А остаток от деления m на n укажет, в каком количестве столбцов строк будет на одну больше. 

Задача C. Чет-нечет
Дано натуральное трехзначное число в диапазоне от 100 до 999. Напечатать EVEN, если сумма цифр этого числа четная, и ODD иначе.
Input: одна строка, содержащая неотрицательное число k.
Output: одна строка, содержащая слово EVEN или ODD.
Example:
Input
Output
111
ODD
123
EVEN


Решение. Задача на выделение цифр из десятичного числа. Например, 357 = 100*3 + 10 * 5 + 7. Количество сотен и количество единиц определяется как частное от деления на 100 и остаток от деления на 10. Количество десятков можно определить разными способами. Например, 357 = 100*3 + 57. Находим остаток от деления числа на 100 и делим нацело на 10.

Задача D. Вопрос существования
Имеются три отрезка, размеры которых abc. Если из этих отрезков можно построить треугольник, напечатать DONE, в противном случае напечатать DON’T.
Input: одна строка, содержащая три неотрицательных числа abc через пробел.
Output: одна строка, содержащая слово DONE или DON’T.
Example:
Input
Output
1 2 3
DON’T
1 1 0.5
DONE

Решение. Критерий существования треугольника: сумма двух любых сторон треугольника больше третьей стороны.  При записи выражения используем логическое И (&&)

Задача E. Длинная дробь

Чебурашка и крокодил Гена научились  делить. В результате деления некоторых чисел получались достаточно длинные числа, например, 0.33333333333333333333333333333333 или 166.66666666666666666666666666667. Гена и Чебурашка хотят узнать количество цифр в дробной части числа. Помогите Гене и Чебурашке сделать это.
Входные данные:
Целая и дробная части числа, разделенные точкой. Количество цифр в числе может достигать нескольких тысяч.
Выходные данные:
Количество цифр в дробной части числа.
Пример
Входные данные:
21.0012345678900
Выходные данные:
13
Решение. Читаем символы из потока до точки. Инициализируем счетчик и читаем символы из потока "пока читается", подсчитывая количество прочитанных символов.

Задача F. Спальные носки
Профессор Лютгарда, дочь Рунхильды, дочери Гренделя, в холодные зимние ночи, особенно если не хватало дров для камина, одалживала студентам свои запасные шерстяные носки, в которых хорошо было спать как в спальном мешке. Студенты говорили при этом, укладываясь в носок: "А вообще-то наша Лютгарда очень изящная. И нога у нее маленькая. Вдвоем в ее носок никак не втиснешься".
В сундуке Лютгарды хранятся прекрасные носки из исландской шерсти, из шерсти альпаки, верблюда, ангорских коз, все они украшены разнообразными  орнаментами, теплые, пушистые, с искусно вывязанной пяткой. Всего в сундуке n разных сортов носков. Два друга, Гвидион и Ллевелис,  задумали обеспечить всех своих друзей (и себя конечно!) одинаковыми спальными носками. Но доброта и терпение Лютгарды не бесконечны, поэтому вам предстоит выяснить, какое минимальное количество носков друзьям надо достать из сундука, чтобы гарантированно k носков  оказались одинаковыми.  
Формат входного файла
В строке через пробел записаны целые числа  n≥1, k≥2.
Формат выходного файла
Одно целое число - минимальное количество носков.

Input
output
1 2
2

Решение. Задача на принцип Дирихле. Решение достигается путем недолгих размышлений. Потребуется n(k - 1) + 1 носков. 

Ковен магов планирует празднества по случаю дня рожденья архимага, но архимаг уже настолько стар, что точную дату его дня рождения все забыли. В архивах нашлись следующие возможные даты дня рождения архимага:
- 15 лым сылан, 16 лым сылан, 19 лым сылан;
- 17 эж петан, 18 эж петан;
- 14 лоддза-номъя, 16 лоддза-номъя;
- 14 нинпу, 15 нинпу, 17 нинпу.
Ник и его учитель Васа пытаются восстановить точную дату дня рождения архимага. В доверительном разговоре архимаг сообщает Нику месяц, в котором он родился, а своему другу (учителю Ника) – число.
После этого между Ником и  Васой  произошел следующий разговор.
- Я не знаю, когда день рождения архимага, но я знаю, что ты тоже этого не знаешь, - заявил Ник.
- Я и не знал, когда у архимага день рождения, но теперь знаю, - ответил Васа.
- А теперь и я знаю, когда он родился, - сказал Ник.
ТАК КОГДА ЖЕ РОДИЛСЯ АРХИМАГ?
Ваша программа должна вывести одну строку – дату  рождения архимага.
Формат входных данных
Нет входных данных.
Формат выходных данных
Одна строка – число и месяц.
Решение. В основе задачи лежит головоломка "Когда день рождения Шерил?", получившая широкое освещение в сети. Здесь http://www.infoniac.ru/news/Kak-reshit-matematicheskuyu-zadachu-Den-rozhdeniya-Sheril.html правильное решение.


По дороге двигалась странная процессия. Странность ее была не в том, что она состояла из отряда эльфов, а в том, что впереди отряда двигался самый настоящий дракон. Дракон в основном двигался легким бегом, трудно представимым для такого массивного тела. Иногда он радовал сопровождающих эльфов своими знаменитыми прыжками, в результате чего им приходилось нагонять его галопом. Но дракон оказался понятливым и подстраивался под среднюю скорость передвижения процессии.
Рассматривается система двух объектов – отряд эльфов и дракон. Отряд эльфов состоит из неизвестного количества пар всадник-конь. Скорости всех эльфийских всадников известны и одинаковы (0 < u <= 1000000000). Скорость дракона v также известна и больше скорости эльфов (u < v). Требуется определить среднюю арифметическую скорость системы двух объектов.
Формат входных данных
Последовательность целых чисел: скорости эльфов и дракона.
Формат выходных данных
Действительное число.
Решение. Последовательность целых чисел состоит из скоростей эльфов и дракона. Сколько эльфов неизвестно, но у всех эльфов скорости одинаковые. Значит,  надо читать числа до тех пор, пока не встретятся два разных числа. 








Комментариев нет:

Отправить комментарий