1 - Класс робототехники

advertisement
Министерство образования и науки Российской федерации
Министерство образования Свердловской области
ФГАОУ ВПО «Уральский федеральный университет имени Первого президента
России Б.Н. Ельцина».
Институт дополнительного образования и профессиональной переподготовки УрФУ
ЗАОЧНАЯ ОЛИМПИАДА ПО ИНФОРМАТИКЕ
Для учащихся 8, 9, 10 и 11 классов средних общеобразовательных школ, лицеев, гимназий
г. Екатеринбурга и области.
Екатеринбург
2013
2
УДК 004.9
ББК 32.81
И74
Составитель: профессор В.И. Рогович,
доцент О.А. Евсегнеев
Научный редактор профессор, д.т.н. В.П. Швейкин
Заочная олимпиада по информатике: для учащихся 8, 9, 10 и 11 классов средних
общеобразовательных школ, лицеев, гимназий. / В.И. Рогович, О.А. Евсегнеев.
Екатеринбург: Изд-во УМЦ УПИ, 2013. 13 с.
В работе содержатся методические указания для выполнения заданий олимпиады и тексты
задач заочной олимпиады по информатике.
.
УДК 004.9
ББК 32.81
© УрФУ, 2013
.
3
Руководителю образовательного учреждения,
преподавателям информатики, школьнику, родителям
Информационное письмо
Уральская Компьютерная Школа (УКШ) УГТУ-УПИ была создана в 2004 г. для подготовки
элитных специалистов в области информационных технологий путем выявления, воспитания,
поддержки и развития наиболее одаренных ребят из числа школьников города и области,
склонных к профессиональной деятельности в области информатики. Подробнее с УКШ УГТУУПИ можно познакомиться на образовательном портале школы www.ucs-ustu.ru.
Девять лет работы УКШ еще раз подтвердили, что в Свердловской области имеются
талантливые ребята в области информатики, и им по силам бороться и побеждать в олимпиадах
областного, зонального и Российского уровня.
Начиная с 2012 года УКШ носит имя Н.Н.Красовского. Н.Н.Красовский со дня основания
школы и до последних дней своей жизни был ее научным руководителем. Это был один из его
последних многочисленных образовательных проектов. С уходом Н.Н.Красовского руководители
проекта будут продолжать делать все, чтобы светлая память об этом великом Человеке, ученом,
учителе, педагоге и наставнике сохранялась в новых поколениях слушателей УКШ.
Н.Н.Красовский оставил после себя огромное интеллектуальное наследие. Оно
многогранно и часть наследия – это задачи для молодых людей с пытливым умом.
Н.Н.Красовский был очень щепетилен и предельно честен в том, что касалось того или иного
авторства. Так он подходил и к задачам. Он любил повторять, что большее число задач уже кем-то
придумано, а он лишь их разглядел. Но всегда эти старые задачи в его интерпретации начинали
иметь новый смысл, поскольку он умел увидеть новое через призму старого. Это делает эти задачи
еще более ценными. Впредь, как и прежде мы будем включать его задачи в число олимпиадных
задач.
Наш новый учебный год
переходит в очередную активную фазу – наряду с
программированием, открывается отделение по робототехнике (инициатива РоботКласс
http://robotclass.ru/ ). MakeItLab — это еще один наш проект, нацеленный, в первую очередь, на
объединение всех увлеченных техникой людей под одной крышей. В MakeItLab, который еще
называют хакспейсом, есть различные полезные инструменты, включая паяльную станцию, фен,
фрезерный станок и даже 3D-принтер. Имеется также большая библиотека электронных
компонентов, а также все наши стенды, разрабатываемые в рамках проекта РоботКласс.
Проходить эти встречи будут на базе лаборатории MakeItLab.
Как и в прошлые годы, Уральская Компьютерная Школа (УКШ) проводит заочную
олимпиаду по информатике.
Олимпиада проводится с целью набрать слушателей в УКШ на новый учебный год. Набор
будет проводиться на конкурсной основе из числа школьников успешно прошедших конкурсный
отбор по результатам решения задач заочной олимпиады и очного собеседования.
Заочная
олимпиада
по
информатике
проводится
для
учащихся
средних
общеобразовательных школ, лицеев, гимназий г. Екатеринбурга и области. В олимпиаде могут
принимать участие без ограничения все школьники 8, 9, 10 и 11 классов.
Система зачисления в УКШ будет также учитывать успешное ранее участие в олимпиадах
2012 – 2013 учебного года.
План приема в «Уральскую компьютерную школу» - 20-25 человек. Участие в олимпиаде и
обучение в УКШ – бесплатное.
Условия задач и требования к их решению, оформлению и отправке можно будет найти в
на порталах УКШ www.ucs-ustu.ru и http://robotclass.ru/ . Полный пакет необходимых материалов
будет также передан в школы города и области. Эти материалы можно получить у профессора
В.И.Роговича, если Вы обратитесь с такой просьбой по e-mail Valery.Rogovich@gmail.com.
4
Памятка для участника
Олимпиада проводится в период с 02.10.13 по 30.10.13.
Все предложенные задачи предполагают, что решение должно быть доведено до
работающей программы, описание модели и алгоритма не требуется, если это не оговорено в
условии задачи. В ряде задач Вам потребуется умение работать со справочной литературой, а
возможно и консультация у учителя по математике или физике. В данной олимпиаде допускаются
следующие языки и системы программирования: Turbo Pascal 7.0, Borland C/C++ 3.1, Visual Basic
4.5, Delphi, Java, Visual C.
Каждой решенной задаче должно соответствовать два файла: файл с исходным кодом и
исполняемый файл. Для задач, где требуется привести решение в виде работающей программы,
должен быть предусмотрен ввод данных из входного файла, а вывод результата – в выходной
файл. Примеры форматов ввода-вывода и имена входных и выходных файлов для таких задач
указаны в условии, будьте внимательны.
Вместе с файлами решений, необходимо приложить файл в обычном текстовом формате. В
нем необходимо указать следующие сведения: ФИО, класс, школа, (полное название), ФИО
Вашего школьного учителя по информатике, Ваш полный почтовый адрес, e-mail, если есть
телефон, то номер телефона для оперативной связи с Вами.
Решения задач высылайте на e-mail: Valery.Rogovich@gmail.com. Работы принимаются до
22.00 (по местному времени) по 30.10.13 включительно.
В случае, если у Вас нет возможности отослать решение по электронной почте, то решение
задач высылается по обычной почте по адресу: 620002 г. Екатеринбург, Мира 17, УМЦ-УПИ,
Заочная олимпиада по информатике. В этом случае решения задач должны быть приложены на
электронном носителе.
Проверка решений будет осуществляться путем запуска решения на заранее
подготовленном наборе тестов, а результат оцениваться в баллах.
Результаты олимпиады будут подведены к 02.11.13 и опубликованы на порталах www.ucsustu.ru и http://robotclass.ru/ . Результаты можно также узнать по телефону: (342) 374-55-80.
Все школьники, принявшие участие в олимпиаде будут приглашены в УрФУ для
озвучивания результатов и разбора решения задач, а успешно справившиеся с задачами, будут
зачислены в УКШ (при зачислении возможно очное собеседование в отборочной комиссии).
Дата и время собеседование с учащимися, выполнившими задания заочной компьютерной
олимпиады и зачисление в УКШ будет объявлено на порталах
УКШ www.ucs-ustu и
http://robotclass.ru/ .
Задачи заочной олимпиады
Задача 1
Центр тяжести
Входной файл input.txt
Выходной файл output.txt
Выпуклый многоугольник на плоскости задан координатами последовательно
расположенных вершин Аi(xi,yi), 1≤i≤n.Требуется определить координаты центра тяжести (P,Q)
этого многоугольника. Масса распределена равномерно по вершинам многоугольника (т.е. может
быть принята равной 1 в каждой вершине).
Ввод
Первая строка содержит число вершин. Последующие строки – пары целых чисел разделенных
пробелом – координаты вершин.
Вывод
В строке содержатся координаты центра тяжести треугольника, округленные до трех знаков после
десятичной точки.
5
Пример ввода
Пример вывода
6.000 10.000
3
0 10
5 12
13 8
Задача 2
Единицы
Входной файл input.txt
Выходной файл output.txt
На уроках информатики вас, наверное, учили переводить числа из одних систем счисления в
другие и выполнять другие подобные операции. Пришло время продемонстрировать эти знания.
Найдите количество единиц в двоичной записи заданного числа.
Ввод
Во входном файле INPUT.TXT записано целое число n (0 ≤ n ≤ 2*109).
Вывод
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число —
количество двоичных единиц в записи числа n.
Пример ввода
5
7
Пример вывода
2
3
Задача 3
Про треугольники
Входной файл input.txt
Выходной файл output.txt
Ограничение по времени: 1 секунда
Найти количество различных невырожденных треугольников таких, что их периметр равен
N.
Ввод
В первой строке целое число N (1 ≤ N ≤ 320000).
Вывод
Количество треугольников.
Пояснения к примеру: существует три невырожденных треугольника с периметром N
(4,3,2), (4,1,4) и (3,3,3).
Пример ввода
9
Пример вывода
3
6
Задача 4
Две окружности
Входной файл input.txt
Выходной файл output.txt
На плоскости даны две окружности. Требуется проверить, пересекаются ли они.
Ввод
Входной файл INPUT.TXT состоит из двух строк. На каждой строке записана информация об
одной окружности – координаты ее центра x и y (целые числа, по модулю не превосходящие 5000)
и радиус (целое число 1 ≤ r ≤ 1000).
Вывод
В выходной файл OUTPUT.TXT выведите «YES», если окружности пересекаются, и «NO» в
противном случае.
Пример ввода
0
0
1
4
0
3
1
4
2
2
1
1
Пример вывода
YES
NO
Задача 5
Сумма
Входной файл: input.txt
Выходной файл: output.txt
Заданы два целых числа A и B, написать программу, которая вычисляет сумму целых чисел
между A и B.
Ввод
Первая строка содержит целое T, которое представляет количество тестов. В следующих T
строках - одна строка на тест, содержится два целых A и B.
Вывод
Ваша программа должна печатать t целых, по одному в строке. i-целое есть ответ, который
Ваша программа вычисляет для случая i-го теста.
Пример ввода
Пример вывода
2
4 5
5 2
9
14
Задача 6
Сообщающиеся сосуды
Входной файл input.txt
Выходной файл output.txt
Ограничение по времени: 2 секунды
Имеется система резервуаров в форме параллелепипедов, сообщающихся тонкими
трубочками (их собственный объём пренебрежимо мал по сравнению с объёмами резервуаров). В
систему залита вода. Определить установившийся уровень воды.
7
Ввод
Первая строка содержит натуральное число N - количество резервуаров.
Вторая строка содержит объём воды в кубометрах.
В каждой из последующих N строк идут четвёрки натуральных чисел, разделённых пробелами.
Они дают информацию о каждом резервуаре: "уровень дна, высота, длина, ширина" - все данные в
метрах.
Вывод
Вещественное число - высота уровня воды (два знака после запятой) или OVERFLOW если объём превосходит вместимость системы.
Пример ввода
4
78
11 7 5 1
15 6 2 2
5851
19 4 8 1
4
132
11 7 5 1
15 6 2 2
5851
19 4 8 1
Пример вывода
17.00
OVERFLOW
Параметры системы, отвечающие входным данным в примерах 1-2, и установившийся уровень 17
3
м для объёма V = 78 м , заданного в примере 1.
8
Задача 7
Журавлики
Входной файл input.txt
Выходной файл output.txt
Петя, Катя и Сережа делают из бумаги журавликов. Вместе они сделали S журавликов.
Сколько журавликов сделал каждый ребенок, если известно, что Петя и Сережа сделали
одинаковое количество журавликов, а Катя сделала в два раза больше журавликов, чем Петя и
Сережа вместе?
Ввод
В единственной строке входного файла INPUT.TXT записано одно натуральное число S –
общее количество сделанных журавликов (S < 106).
Вывод
В единственную строку выходного файла OUTPUT.TXT нужно вывести три числа,
разделенных пробелами – количество журавликов, которые сделал каждый ребенок (Петя, Катя и
Сережа).
Пример ввода
6
24
60
Пример вывода
1 4 1
4 16 4
10 40 10
Задача 8
Сортировка времени
Входной файл input.txt
Выходной файл output.txt
Требуется выполнить сортировку временных моментов, заданных в часах, минутах и
секундах.
Ввод
Во входном файле INPUT.TXT в первой строке записано число N (1<=N<=100), а в
последующих N строках N моментов времени. Каждый момент времени задается 3 целыми
числами - часы (от 0 до 23), минуты (от 0 до 59) и секунды (от 0 до 59).
Вывод
В выходной файл OUTPUT.TXT выведите моменты времени, упорядоченные в порядке
неубывания без ведущих нулей.
Пример ввода
4
10 20 30
7 30 00
23 59 59
13 30 30
Пример вывода
7 30 0
10 20 30
13 30 30
23 59 59
9
Задача 9
Делимость на одиннадцать
Входной файл eleven.in
Выходной файл eleven.out
Ограничение по времени: 2 секунды
Вам требуется определить, сколько натуральных чисел из интервала [A, B], сумма
десятичных цифр которых находится в интервале [P, Q], делится на 11 без остатка. Ограничения
на исходные данные: 1 <= A <= B < 1019, 1 <= P <= Q < 163.
Ввод
Входные данные находятся в текстовом файле ELEVEN.IN и состоят из двух строк. Первая
строка содержит десятичную запись чисел A и B, вторая - десятичную запись чисел P и Q. Данные
в строках разделяются одним пробелом.
Вывод
Выходные данные помещаются в текстовый файл ELEVEN.OUT и содержат единственную
строку с найденным числом. Пробелов в этой строке быть не должно!
Пример ввода
11 40
3 6
Пример вывода
2
Задача 10
Рыбаки
Входной файл input.txt
Выходной файл output.txt
Ограничение по времени: 2 секунды
Говорят, что однажды Дираку предложили решить следующую задачу.
Трое рыбаков отправились на рыбалку. Наловив рыбы, они устроились на ночлег.
Проснувшись, один из рыбаков решил взять свою долю (третью часть) и отправиться
домой. Пересчитав рыбу, он заметил, что на троих выловленная рыба не делится –
остается одна лишняя. Недолго думая, первый рыбак выкинул лишнюю рыбу в море, взял
свою долю и отправился домой.
Затем проснулся второй рыбак. Не заметив, что один из его товарищей уже уехал, он
тоже стал делить оставшуюся рыбу на троих, и у него тоже получилась одна лишняя
рыба. Поступив с лишней рыбой, также как и первый рыбак, он забрал долю, которую
считал своей и поехал домой.
Третий рыбак также не обнаружил исчезновения своих товарищей и тоже стал делить
рыбу на троих. И у него получилась одна лишняя рыба, которую он выкинул, после чего
забрал третью часть и отбыл домой.
Вопрос, заданный Дираку, звучал так: сколько рыбы поймали рыбаки?
Обобщим данную задачу следующим образом.
Однажды N рыбаков отправились на рыбалку, где поймали X рыб. После этого рыбаки
легли спать. Утром, просыпаясь друг за другом, каждый из них делил выловленную рыбу на
N частей. Каждый раз в остатке оставалось ровно K рыб (0 < K < N). Эти K рыб
выбрасывались обратно в море.
Ваша задача – определите при заданных N и K минимально возможное целое
положительное значение X – число рыб, удовлетворяющее условию задачи.
Ввод
Входной файл содержит два целых числа N и K, разделенные пробелом
(2 ≤ N ≤ 8, 0 < K < N).
10
Вывод
Выходной файл должен содержать одно целое положительное число X – наименьшее
возможное количество выловленной рыбаками рыбы.
Пример ввода
3 1
4 3
Пример вывода
25
247
Задача 11
Разворот
Входной файл input.txt
Выходной файл output.txt
Дано натуральное число N и последовательность из N элементов. Требуется вывести эту
последовательность в обратном порядке.
Ввод
В первой строке входного файла INPUT.TXT записано натуральное число N (N ≤ 103). Во
второй строке через пробел идут N целых чисел, по модулю не превосходящих 10 3 - элементы
последовательности.
Вывод
В выходной файл OUTPUT.TXT выведите заданную последовательность в обратном порядке.
Пример ввода
3
1 2 3
Пример вывода
3 2 1
Задача 12
Сумма двух чисел
Входной файл input.txt
Выходной файл output.txt
Заданы три числа: a, b, c. Необходимо выяснить, можно ли так переставить цифры в числах a
и b, чтобы в сумме получилось c.
Ввод
Входной файл INPUT.TXT содержит три целых числа: a, b, c (0 < a, b, c < 10 9). Числа
разделены пробелом.
Вывод
В выходной файл OUTPUT.TXT следует вывести YES, если искомая перестановка цифр
возможна, в противном случае необходимо вывести NO. При положительном ответе во второй
строке следует вывести число x, получаемое перестановкой цифр числа a, и число y, получаемое
перестановкой цифр числа b, сумма которых равна c. Числа x и y при выводе не должны
содержать ведущих нулей. Числа в строке разделены пробелом. Если решений несколько, то
следует вывести ту пару, в которой число x минимально.
11
Пример ввода
Пример вывода
12 31 25
YES
12 13
NO
YES
11 2
12 31 26
101 2 13
Задача 13
Паскаль
Входной файл: input.txt
Выходной файл: output.txt
Назовем треугольником Паскаля следующую числовую структуру. В нулевой строке стоит
единица, в первой стоят две единицы, а в последующих строках каждый элемент равен сумме двух
вышестоящих над ним элементов.
0
1
2
3
4
5
1
1
1
1
1
1
…
3
4
5
…
1
1
2
6
10
…
1
3
…
1
4
10
5
…
1
…
…
Нулевое и последнее число в каждой строке равны единице, а каждое из остальных равно
сумме двух чисел предыдущей строки, расположенных над ними.
Таким образом, i строка содержит i+1 число. Если обозначить j-ый элемент i-ой строки как ai,j,
то выполняется равенство ai,j = ai−1,j−1 + ai−1,j. Это равенство выполняется и для крайних
элементов, если положить отсутствующие элементы предыдущей строки (элементы с номерами -1
и i) равными нулю.
Ваша задача узнать, сколько нечетных чисел в n-ой строке треугольника Паскаля.
Формат входных данных
Задано единственное число n (0 <=n <=2 109).
Формат выходных данных
Содержит одно число – количество нечетных чисел в n-ой строке треугольника Паскаля.
Входной файл
Выходной файл
0
5
7
1
4
8
12
Задача 14
Испарение капли (задача Н.Н.Красовского)
Испаряющаяся капля жидкости лежит на несмачиваемой горизонтальной плоскости. Форму
капли в текущий момент времени t  0 определяет закон Лапласа, который, как известно,
связывает поверхностное натяжение с давлением внутри жидкости. Скорость испарения жидкости
в текущий момент времени t пропорциональна площади поверхности капли.
1. Прямая задача.
Дано: Плотность жидкости  , коэффициент поверхностного натяжения  , коэффициент k
пропорциональности между скоростью уменьшения массы m жидкости и площадью s
поверхности капли. Начальный вес P0  P(0) капли.
Требуется: Составить математическую модель процесса.
Создать программу,
симулирующую процесс и выдающую изменяющиеся во времени t  0 вес капли P (t ) , ее высоту
H (t ) и ширину D(t ) .
Анализ модели и графическое изображение процесса приветствуется.
2. Обратная задача.
Дано: Плотность жидкости  , начальный вес капли P0  P(0) и значение веса P(ti ) в
некоторые моменты времени ti , i  1,2,..., n; n  2 . (Может быть, дан даже весь график функции
P(t ), t  0) .
Требуется: Составить программу, вычисляющую коэффициенты  и k .
Анализ различных ситуаций и вариантов возможных постановок такой обратной задачи
приветствуется. В частности, желательно разобраться с двумя вопросами:
10. Какое минимальное количество n измерений P(ti ), i  1,2,..., n и в какие моменты
ti , i  1,2,..., n; достаточны для однозначного решения данной задачи: для однозначного
определения  и k ? А есть ли вообще такие n  1 и ti , i  1,2,..., n; которые гарантирует
однозначное решение: { , P0 , P(ti ), i  1,..., n}  {  , k } ?
20. Какое минимальное количество n и каких измерений P(ti ), i  1,2,..., n достаточно для
однозначного определения всех трех параметров { ,  , k } ? А, может быть, эта задача 20 не имеет
однозначного решения вообще?
13
Желаем успеха!
Спонсор образовательного проекта УКШ имени Н.Н.Красовского
СКБ Контур – федеральный разработчик
программного обеспечения с 1988 года. В
нашей компании работает больше 1500
специалистов, которые умеют находить
практичные решения самых сложных задач.
Именно поэтому каждое четвертое
предприятие в стране использует наши
программные продукты.
Заочная олимпиада по информатике: для учащихся 8, 9, 10 и 11 классов средних
общеобразовательных школ, лицеев, гимназий.
Составители: Рогович Валерий Иосифович
Евсегнеев Олег Анатольевич
ООО «Издательство УМЦ УПИ»
Екатеринбург, ул. Мира 17
14
Download