1.

advertisement
1. На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость частицы –
это целое число (положительное, отрицательное или 0). Частиц, скорость которых измерена, может быть очень
много, но не может быть меньше трёх. Скорости всех частиц различны.
При обработке результатов в каждой серии эксперимента отбирается основное множество скоростей. Это такое
непустое множество скоростей частиц (в него могут войти как скорость одной частицы, так и скорости всех частиц
серии), для которого произведение скоростей является максимальным среди всех возможных множеств. При
нахождении произведения знак числа учитывается. Если есть несколько таких множеств, то основным считается то,
которое содержит наибольшее количество элементов.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите
используемую версию языка программирования, например, Borland Pascal 7.0), которая будет обрабатывать
результаты эксперимента, находя основное множество.
Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество частиц N. В каждой из последующих N строк записано
одно целое число, по абсолютной величине не превышающее 109.
Пример входных данных:
5
123
2
-1000
0
10
Программа должна вывести в порядке возрастания номера частиц, скорости которых принадлежат основному
множеству данной серии. Нумерация частиц ведётся с единицы.
Пример выходных данных для приведённого выше примера входных данных:
125
2. На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость
частицы –
это целое число (положительное, отрицательное или 0). Частиц, скорость которых измерена, может быть очень
много, но не может быть меньше трёх. Скорости всех частиц различны. В серии обязательно присутствует хотя бы
одна частица с отрицательной скоростью.
При обработке результатов в каждой серии эксперимента отбирается основное множество скоростей. Это такое
непустое подмножество скоростей частиц (в него могут войти как скорость одной частицы, так и скорости всех
частиц серии), для которого произведение скоростей является минимальным среди всех возможных подмножеств.
При нахождении произведения знак числа учитывается. Если есть несколько таких множеств, то берётся то, которое
содержит наибольшее количество элементов.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите
используемую версию языка программирования, например, Borland Pascal 7.0), которая будет обрабатывать
результаты эксперимента, находя основное множество.
Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество частиц N. В каждой из последующих N строк записано
одно целое число, по абсолютной величине не превышающее 109. Все N чисел различны.
Пример входных данных:
5
123
2
-1000
0
10
Программа должна вывести в порядке возрастания номера частиц, скорости которых принадлежат основному
множеству данной серии. Нумерация частиц ведётся с единицы.
Пример выходных данных для приведённого выше примера входных данных:
1235
3. На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость частицы –
это целое неотрицательное число. Частиц, скорость которых измерена, может быть очень много, но не может быть
меньше трёх. Скорости всех частиц различны. Скорость, по крайней мере, одной частицы нечётна.
При обработке результатов в каждой серии эксперимента отбирается основное множество скоростей. Это
непустое подмножество скоростей частиц (в него могут войти как скорость одной частицы, так и скорости всех
частиц серии), такое, что сумма значений скоростей у него нечётна и максимальна среди всех возможных непустых
подмножеств с нечётной суммой. Если таких подмножеств несколько, то из них выбирается то подмножество,
которое содержит наименьшее количество элементов.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите
используемую версию языка программирования, например, Borland Pascal 7.0), которая будет обрабатывать
результаты эксперимента, находя основное множество.
Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество частиц N. В каждой из последующих N строк записано
одно целое неотрицательное число, не превышающее 109. Все N чисел различны. Хотя бы одно из чисел нечётно.
Пример входных данных:
3
123
0
2
Программа должна вывести в порядке возрастания номера частиц, скорости которых принадлежат основному
множеству данной серии. Нумерация частиц ведётся с единицы.
Пример выходных данных для приведённого выше примера входных данных:
13
4. На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость частицы –
это целое неотрицательное число. Частиц, скорость которых измерена, может быть очень много, но не может быть
меньше трёх. Скорости всех частиц различны.
При обработке результатов в каждой серии эксперимента отбирается основное множество скоростей. Это
непустое подмножество скоростей частиц (в него могут войти как скорость одной частицы, так и скорости всех
частиц серии), такое, что сумма значений скоростей у него чётна и максимальна среди всех возможных непустых
подмножеств с чётной суммой. Если таких подмножеств несколько, то из них выбирается то подмножество, которое
содержит наименьшее количество элементов.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите
используемую версию языка программирования, например, Borland Pascal 7.0), которая будет обрабатывать
результаты эксперимента, находя основное множество.
Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество частиц N. В каждой из последующих N строк записано
одно целое неотрицательное число, не превышающее 109. Все N чисел различны.
Пример входных данных:
5
123
2
1000
0
10
Программа должна вывести в порядке возрастания номера частиц, скорости которых принадлежат основному
множеству данной серии. Нумерация частиц ведётся с единицы.
Пример выходных данных для приведённого выше примера входных данных:
235
5. По каналу связи передаётся последовательность положительных целых чисел, все числа не превышают 1000.
Количество чисел известно, но может быть очень велико. Затем передаётся контрольное значение
последовательности – наибольшее число R, удовлетворяющее следующим условиям:
1) R – произведение двух различных переданных элементов последовательности («различные» означает, что
не рассматриваются квадраты переданных чисел, произведения различных элементов последовательности, равных
по величине, допускаются);
2) R делится на 10.
Если такого числа R нет, то контрольное значение полагается равным 0.
В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.
Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию
языка программирования, например, Borland Pascal 7.0), которая будет проверять правильность контрольного
значения. Программа должна напечатать отчёт по следующей форме:
Вычисленное контрольное значение: …
Контроль пройден (или – Контроль не пройден)
Перед текстом программы кратко опишите используемый Вами алгоритм решения.
На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано
одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
Пример входных данных:
6
95
17
10
102
957
95
9690
Пример выходных данных для приведённого выше примера входных данных:
Вычисленное контрольное значение: 9690
Контроль пройден
6. По каналу связи передаётся последовательность положительных целых чисел, все числа не превышают 1000.
Количество чисел известно, но может быть очень велико. Затем передаётся контрольное значение
последовательности – наибольшее число R, удовлетворяющее следующим условиям:
1) R – произведение двух различных переданных элементов последовательности («различные» означает, что
не рассматриваются квадраты переданных чисел, произведения различных элементов последовательности, равных
по величине, допускаются);
2) R делится на 6.
Если такого числа R нет, то контрольное значение полагается равным 0.
В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.
Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию
языка программирования, например, Borland Pascal 7.0), которая будет проверять правильность контрольного
значения. Программа должна напечатать отчёт по следующей форме:
Вычисленное контрольное значение: …
Контроль пройден (или – Контроль не пройден)
Перед текстом программы кратко опишите используемый Вами алгоритм решения.
На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано
одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
Пример входных данных:
6
70
17
6
99
997
70
6930
Пример выходных данных для приведённого выше примера входных данных:
Вычисленное контрольное значение: 6930
Контроль пройден
7. В командных олимпиадах по программированию для решения предлагается не больше 12 задач.
Команда может решать предложенные задачи в любом порядке. Подготовленные решения команда
посылает в единую проверяющую систему соревнований. Вам предлагается написать эффективную, в том
числе по используемой памяти, программу, которая будет статистически обрабатывать пришедшие
запросы на проверку, чтобы определить популярность той или иной задачи. Следует учитывать, что
количество запросов в списке может быть очень велико, так как многие соревнования проходят с
использованием сети Интернет. Перед текстом программы кратко опишите используемый Вами алгоритм
решения задачи. На вход программе в первой строке подаётся количество пришедших запросов N. В
каждой из последующих N строк записан номер задачи от 1 до 12. Пример входных данных:
6
1
2
1
1
5
2
Программа должна напечатать сведения о количестве запросов на проверку для каждой задачи.
Сведения о каждой задаче выводятся в отдельной строке: сначала выводится номер задачи, потом —
соответствующее количество запросов. Сведения о задачах, которые не поступали на проверку, выводить
не нужно. Строки должны быть упорядочены по убыванию количества запросов, при равенстве количества
запросов — по возрастанию номеров задач. Пример выходных данных для приведённого выше примера
входных данных:
13
22
51
8. В телевизионном танцевальном марафоне с определением победителя с помощью телезрителей
после каждого тура объявляется sms-голосование, в котором зрители указывают наиболее понравившуюся
им пару из максимум 16 пар, которые участвуют в проекте. Вам предлагается написать эффективную, в
том числе по используемой памяти, программу, которая будет обрабатывать результаты sms-голосования
по данному вопросу. Результаты голосования получены в виде номеров пар (каждый элемент списка
соответствует одному sms-сообщению). Следует учитывать, что количество голосов в списке может быть
очень велико. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество пришедших sms-сообщений N. В каждой из
последующих N строк записан номер пары от 1 до 16.Пример входных данных:
4
2
16
3
2
Программа должна вывести список всех пар, встречающихся в списке, в порядке убывания
(невозрастания) количества голосов, отданных за ту или иную пару, с указанием количества отданных за
неё голосов. При этом каждая пара должна быть выведена ровно один раз вне зависимости от того,
сколько раз она встречается в списке. Пример выходных данных для приведённого выше примера входных
данных:
22
31
16 1
9. В командных олимпиадах по программированию для решения предлагается не больше 12 задач.
Команда может решать предложенные задачи в любом порядке. Подготовленные решения команда
посылает в единую проверяющую систему соревнований. Вам предлагается написать эффективную, в том
числе по используемой памяти, программу, которая будет статистически обрабатывать пришедшие
запросы, чтобы определить наименее популярные задачи. Следует учитывать, что количество запросов в
списке может быть очень велико, так как многие соревнования проходят с использованием сети Интернет.
Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход
программе в первой строке подаётся количество пришедших запросов N. В каждой из последующих N
строк записано название задачи в виде текстовой строки. Длина строки не превосходит 100 символов,
название может содержать буквы, цифры, пробелы и знаки препинания. Пример входных данных:
6
А+B
Крестики-Нолики
А+В
Простой делитель
А+В
Простой делитель
Программа должна вывести список из трёх задач, встречающихся в запросах наименьшее число раз, с
указанием количества запросов по ним. Если в запросах упоминается менее трёх задач, то выведите
информацию об имеющихся задачах. Если несколько задач имеют ту же частоту встречаемости, что и
третья по частоте встречаемости задача, то выведите только одну из них. Пример выходных данных для
приведённого выше примера входных данных:
Крестики-Нолики 1
Простой делитель 2
А+В 3
10. В еженедельном выпуске популярной газеты было объявлено голосование по выбору актёра,
который, по мнению читателей, должен сняться в продолжении фильма «Белое солнце пустыни». На
выбор был предложен список из шести актеров. Вам предлагается написать эффективную, в том числе по
используемой памяти, программу, которая будет обрабатывать результаты sms-голосования по данному
вопросу. Результаты голосования получены в виде списка актёров (каждый элемент списка соответствует
одному sms-сообщению). Следует учитывать, что количество голосов в списке может быть очень велико.
Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход
программе в первой строке подаётся количество пришедших sms-сообщений N. В каждой из последующих
N строк записаны фамилия и имя актера (сначала фамилия, а потом через пробел имя). Длина строки не
превосходит 50 символов. Пример входных данных:
5
Меньшиков Олег
Миронов Евгений
Меньшиков Олег
Машков Владимир
Меньшиков Олег
Программа должна вывести список всех актёров, встречающихся в списке, в порядке убывания
(невозрастания) количества голосов, отданных за того или иного актёра, с указанием количества отданных
за него голосов. При этом каждый актёр должен быть выведен ровно один раз вне зависимости от того,
сколько голосов было отдано за него.Пример выходных данных для приведённого выше примера входных
данных:
Меньшиков Олег 3
Миронов Евгений 1
Машков Владимир 1
11. Радиотелескоп пытается получать и анализировать сигналы, поступающие из различных участков
космоса, при этом различные шумы переводятся в последовательность целых неотрицательных чисел.
Чисел может быть очень много, но не может быть меньше трёх. Все числа различны. Хотя бы одно из
чисел нечётно.
В данных, полученных из одного участка, выделяется основное подмножество чисел. Это непустое
подмножество чисел (в него могут войти как одно число, так и все поступившие числа), такое, что их
сумма нечётна и максимальна среди всех возможных непустых подмножеств с нечётной суммой. Если
таких подмножеств несколько, то из них выбирается то подмножество, которое содержит наименьшее
количество элементов.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите
используемую версию языка программирования, например, Borland Pascal 7.0), которая будет
обрабатывать результаты, приходящие из одного участка, находя основное подмножество. Перед текстом
программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой
строке подаётся количество сигналов N. В каждой из последующих N строк записано одно целое
неотрицательное число, не превышающее 109.
Пример входных данных:
3
123
0
2
Программа должна вывести в порядке возрастания номера сигналов, которые принадлежат основному
подмножеству данного участка. Нумерация элементов последовательности ведётся с единицы. Пример
выходных данных для приведённого выше примера входных данных: 1 3.
12. Радиотелескоп пытается получать и анализировать сигналы, поступающие из различных участков
космоса, при этом различные шумы переводятся в последовательность целых неотрицательных чисел.
Чисел может быть очень много, но не может быть меньше трёх. Все числа различны. Хотя бы одно из
чисел нечётно.
В данных, полученных из одного участка, выделяется основное подмножество чисел. Это непустое
подмножество чисел (в него могут войти как одно число, так и все поступившие числа), такое, что их
сумма чётна и максимальна среди всех возможных непустых подмножеств с чётной суммой. Если таких
подмножеств несколько, то из них выбирается то подмножество, которое содержит наименьшее
количество элементов.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите
используемую версию языка программирования, например, Borland Pascal 7.0), которая будет
обрабатывать результаты, приходящие из одного участка, находя основное подмножество. Перед текстом
программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой
строке подаётся количество сигналов N. В каждой из последующих N строк записано одно целое
неотрицательное число, не превышающее 109.
Пример входных данных:
5
123
2
1000
0
10
Программа должна вывести в порядке возрастания номера сигналов, которые принадлежат основному
подмножеству данного участка. Нумерация элементов последовательности ведётся с единицы. Пример
выходных данных для приведённого выше примера входных данных: 2 3 5.
Download