19 мая 2015 года.
9 "В" класс, самостоятельная работа

A: Количество равных соседей

Даны числа, которые вводятся по одному в строке до тех пор, пока не введут 0.
Посчитайте количество пар соседних чисел, которые равны между собой.

Ввод Вывод
1 
2 
2 
3 
2 
2 
2
0
3
1 
2 
2 
3 
3 
3 
2 
2 
2
0
5

B: Простое с максимальным произведением цифр

Даны числа A и B. На отрезке от A до B (включая A и B) найдите простое число, произведение цифр которого максимально. Если таких чисел несколько, выведите наименьшее из них. Если на отрезке нет ни одного простого числа, выведите 0.

Числа A и B записаны каждое в отдельной строке.

Совет: напишите две функции: функцию, проверяющую число на простоту, и функцию, вычисляющую произведение цифр числа.

Ограничения: 2 ≤ A ≤ B ≤ 10 000 000, при этом B − A ≤ 1000.
Ввод Вывод
10
30
29
15
16
0

C: Выручка театра

В театре N рядов по M мест в каждом. Даны две матрицы - в первой записаны стоимости билетов. Вторая - сообщает, какие билеты проданы, а какие - нет (1 - соответствующий билет продан, 0 - не продан).

Определите общую выручку от спектакля.

Входные данные. В первой строке заданы числа N и M. Затем задана матрица стоимостей билетов (N строк по M чисел, каждое из чисел от 0 до 10000). После нее идет пустая строка. Далее задана матрица проданных билетов (опять же N строк по M чисел). N и M не превышают 100.

Выходные данные. Выведите общую выручку от продажи билетов.

Ввод Вывод
3 4
1 100 100 1
1 5 5 1
2 2 3 2

1 0 1 1
0 1 1 0
0 0 1 0
115

D: Хождение за золотом - 2

Однажды царь решил вознаградить одного из своих мудрецов за хорошую работу. Он привел его в прямоугольную комнату размром NxM, в каждой клетке которой лежало несколько килограммов золота. Царь разрешил мудрецу обойти несколько клеток (переходя с клетки, где сейчас находится мудрец, в одну из четырех с ней соседних), и собрать все золото, которое попадется на его пути.

Вам дан маршрут мудреца. Требуется определить, сколько килограммов золота он собрал. Естественно, если мудрец через какую-то клетку проходил два раза, то на второй раз брать в этой клетке было уже нечего.

Входные данные. Вводится план комнаты. Сначала вводится количество строк N, затем - количество столбцов M (1≤N≤20,1≤M≤20). Затем записано N строк по M чисел в каждой - количество килограммов золота, которое лежит в данной клетке (число от 0 до 50). Далее записано число X (от 1 до 10000) - сколько клеток обошел мудрец.

Известно, что мудрец начал с клетки с координатами (1,1) - это левый верхний угол. Далее в строчку записано X-1 число: куда перемещался мудрец:

Известно, что мудрец не выходил из лабиринта, при этом он мог через одну и ту же клетку пройти несколько раз.

Выходные данные. Выведите количество килограммов золота, которое собрал мудрец.

Ввод Вывод
3 4
1 2 3 4
5 6 7 8
9 10 11 12
9
4 1 1 2 3 3 1 4
24

E: Сортировка по последней цифре

Дана последовательность чисел. Нужно упорядочить эти числа по возрастанию последней цифры, а при равенстве последних цифр - по возрастанию (точнее, по неубыванию) самих чисел.

Входные данные
Вводится сначала число N (1≤N≤100), а затем сами числа - натуральные числа не превышающие 32000. Числа вводятся по одному в каждой строке.

Выходные данные
Выведите последовательность чисел, упорядоченную так, как указано в условии.

Пример вводаПример вывода
7
12 
15 
43 
13 
20 
1 
15
20 
1 
12 
13 
43 
15 
15

F: Страны и города

Дан список стран и городов каждой страны. Затем даны названия городов. Для каждого города укажите, в какой стране он находится.

Программа получает на вход количество стран N. Далее идет N строк, каждая строка начинается с названия страны, затем идут названия городов этой страны. В следующей строке записано число M, далее идут M запросов - названия каких-то M городов, перечисленных выше.

Для каждого из запроса выведите название страны, в котором находится данный город.

Ввод Вывод
2
Russia Moscow Petersburg Novgorod Kaluga
Ukraine Kiev Donetsk Odessa
3
Odessa
Moscow
Novgorod
Ukraine
Russia
Russia